- QT实现TCP/UDP通信
aMe421
tcp/ipudplinux
服务器端:客户端:服务器:widget.h#ifndefWIDGET_H#defineWIDGET_H#include#include#include#include#include#includeQT_BEGIN_NAMESPACEnamespaceUi{classWidget;}QT_END_NAMESPACEclassWidget:publicQWidget{Q_OBJECTpublic:W
- 导入R包或者安装R包时遇到报错:shared object‘XXXX.so’ not found
生信碱移
经验分享r语言
报错示例:Error:packageornamespaceloadfailedfor‘Seurat’inlibrary.dynam(lib,package,package.lib):sharedobject‘uwot.so’notfound解决方案:安装XXXX.so中对应的R包名称XXXX,对于这个报错示例来说就是uwot:install.packages("uwot")随后重启以后即可正常使用
- 深入理解 HTML DOM:文档对象模型详解
浪浪山小白兔
html前端
在前端开发中,HTMLDOM(文档对象模型,DocumentObjectModel)是一个非常重要的概念。它是浏览器将HTML文档解析为一个树形结构的方式,开发者可以通过JavaScript动态地访问和操作文档的内容、结构和样式。本文将详细介绍HTMLDOM的核心概念、功能以及实际应用。1.什么是HTMLDOM?HTMLDOM是浏览器将HTML文档解析为一个树形结构的编程接口。它将文档中的每个部分
- keytool 错误: java.io.IOException: parseAlgParameters failed:ObjectIdentifier() -- data isn‘t an objec
是先生了
Java安卓开发安卓笔记java开发语言
今天在做安卓开发时,笔者发现了一个问题,就是我们使用百度地图API的时候要进行获取SHA1,用以下命令keytool-list-v-keystoredebug.keystore于是笔者输入该命令之后,直接输入密码android,然后就报错如下:keytool错误:java.io.IOException:parseAlgParametersfailed:ObjectIdentifier()--dat
- 【JavaScript】作用域、变量提升、函数提升
Jerry_ww
JavaScriptjavascript前端
作用域(Scope)的概念和分类概念:作用域是一个变量或函数的作用范围。作用域在函数定义时,就已经确定了。目的:为了提高程序的可靠性,同时减少命名冲突。在JS中,一共有两种作用域:(ES5中)全局作用域:作用于整个script标签内部,或者作用于一个独立的JS文件。函数作用域(局部作用域):作用于函数内的代码环境。全局作用域和window对象直接编写在script标签中的JS代码,都在全局作用域。
- 一文看懂Qt多线程
旺代
qt开发语言多线程
目录一、QThread类1.常用方法2.信号3.注意事项二、多线程实现方式1.继承QThread类并重写run函数2.继承QObject类并使用moveToThread()3.使用QRunnable和QThreadPool4.使用QtConcurrent三、线程同步1.互斥锁(QMutex)2.读写锁(QReadWriteLock)3.条件变量(QWaitCondition)4.信号量(QSema
- 作用域 & 变量/函数提升
编程星空
JavaScript前端javascript开发语言
关于作用域的问题,在【ES6语法】、【作用域、this上下文、闭包】文中,均有涉及,今天来做一个详细的介绍。在之前的文章中,提到作用域是可以静态分析出来的,因此作用域在定义时,就已经确定了。这是为了提高程序的可靠性,也减少了命名冲突。作用域是定义变量和访问变量的范围。在ES5中,只有全局作用域和函数作用域。全局作用域和全局对象全局作用域在页面打开时被创建,页面关闭时销毁。全局作用域中有一个全局对象
- py之调用百度api实现人脸检测是和识别
我不是程序员~~~~
python实战javascriptc语言
importrequestsimportbase64importjsonimportosimportsslprint(ssl.OPENSSL_VERSION)print(ssl._ssl.__file__)classCbaiduUnit(object):def__init__(self):#self.AK="bf7BKUMl28G66PZ2HIGIfrTq"#self.SK="tDjlbO6B95
- HBase工具类(Scala 版)
Amin-沐
大数据私人日记帮助文档hbasescalaspark大数据
objectHBaseHelper{privatevallogger=LoggerFactory.getLogger(getClass)valQUORUM:String=PropertiesUtils.getString("hbase.zookeeper.quorum")valPORT:String=PropertiesUtils.getString("hbase.zookeeper.port")
- corba学习笔记
一枚前端猿
CORBA公用对象请求代理(调度)程序体系结构(CommonObjectRequestBrokerArchitecture),缩写为CORBA,是对象管理组织(ObjectManagementGroup)对应当今快速增长的软硬件的协同工作能力的要求而提出的方案。简而言之,CORBA允许应用程序和其他的应用程序通讯,而不论他们在什么地方或者由谁来设计。CORBA曾经是分布式计算的主流技术,在电信等领
- xgboost-spark-scala
maokunnn
DMxgboostsparkscala
今天学习写scala,拿xgboost试一下~先记一下xgboost调参要点:7.xgboost中比较重要的参数介绍(1)objective[default=reg:linear]定义学习任务及相应的学习目标,可选的目标函数如下:“reg:linear”–线性回归。“reg:logistic”–逻辑回归。“binary:logistic”–二分类的逻辑回归问题,输出为概率。“binary:logi
- MongoDB 关系
村之春
mongodboracle数据库
MongoDB的关系表示多个文档之间在逻辑上的相互联系。文档间可以通过嵌入和引用来建立联系。MongoDB中的关系可以是:1:1(1对1)1:N(1对多)N:1(多对1)N:N(多对多)接下来我们来考虑下用户与用户地址的关系。一个用户可以有多个地址,所以是一对多的关系。以下是user文档的简单结构:{"_id":ObjectId("52ffc33cd85242f436000001"),"name"
- 3-C# 泛型(随笔)
坐在墙上的猫
C#andHalcon编程语言
3-C#泛型(随笔)1.泛型概述1.1性能1.2类型安全1.3二进制代码的重用1.4代码的扩展1.5命名约定2.创建泛型类3.泛型类的功能3.1默认值1.泛型概述 有了泛型,就可以创建独立于被包含类型的类和方法了,我们不必给不同的类型编写功能相同的许多方法或类,值创建一个方法或类即可。另一个减少代码的选项是使用Object类,但是其不是类型安全的。泛型类使用泛型类型,并可以根据需要用特定的类型替
- flutter 使用webview_flutter出现‘android.view.ViewRootImpl.mWindowAttributes‘ on a null object reference
Sun_jinglun
flutter问题汇总flutterandroidwebview
问题描述:使用webview_flutter加载h5页面,对指定的页面地址进行拦截并跳转到新的page。跳转后出现如下错误信息:分析解决:发现两个页面所使用的Androidwebview并不是同一个page1:page2:修改为同一个后解决了这个问题。注:这个问题在Android设备没有出现,只出现在了HarmonyOS设备上。
- list存放object随笔
whatcp
对象list引用
今天偶然有人问起,list里存放的是对象的引用,如果这个引用这时候指向别的对象,那之前的对象的引用到哪里去了。先看到代码:publicstaticvoidtest1(){Listarray=newArrayList();Mapobject=newHashMap();object.put("a","a");array.add(object);object.put("a1","change");Sys
- 随笔8 - c#中List、Dictionary、ArrayList、Hashtable和数组的区别
leixf2016
C#
C#集合类ArrayArraylistListHashtableDictionaryStackQueue1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的2.数组要声明元素的类型,集合类的元素类型却是object.3.数组可读可写不能声明只读
- Java 学习笔记 面向对象的七大设计原则
「已注销」
学习笔记java学习开发语言
文章目录参考资料一、单一职责原则SRP二、开闭原则OCP三、里氏替换原则LSP四、依赖倒转原则DIP五、接口隔离原则ISP六、合成复用原则CRP七、迪米特法则LOD八、总结参考资料参考资料:视频资料面向对象设计,ObjectOrientedDesign,简称OOD。在进行软件开发时,需要考虑项目的可维护性和可复用性,开发项目一般是由一个开发团队来维护,因此我们在编写代码时,应可能规范,防止项目出现
- DTO(数据传输对象)
阿乾之铭
SpringBootspringbootjava
一、DTO是什么DTO(DataTransferObject,数据传输对象)是Java后端开发中常见的设计模式之一。它的作用是在不同的层之间传输数据,特别是在网络或应用层之间进行数据交换时,提供一种简单的数据载体。DTO本质上是一个不包含业务逻辑的纯数据对象,用于打包数据,便于在系统的不同部分传递。二、DTO的主要作用减少数据暴露:DTO可以精简从后端返回给前端的数据。例如,数据库实体类中可能有许
- JavaScript 内置构造函数
遇见~未来
es6JavaScriptjavascript开发语言ecmascriptes6前端
目录JavaScript内置构造函数1.Object1.1Object.keys1.2Object.values1.3Object.entries2.Array2.1数组常见实例方法-核心方法2.2reduce2.3其他实用实例方法3.String构造函数4.Number构造函数5.Boolean构造函数6.集合对象的构造函数6.1Set构造函数6.2Map构造函数6.3WeakSet和WeakM
- 测试驱动开发TDD
Urf_read
前后端&数据库交互通信springtddjavaspringspringbootjava-ee
如何在后端测试代码,测试一个其前端的请求,能否正常处理以登录请求为例packagecom.example.demo.login;importcom.example.demo.login.pojo.User;importcom.fasterxml.jackson.databind.ObjectMapper;importorg.junit.jupiter.api.Test;importorg.spri
- Vue2和Vue3区别
mini猪
大数据vue.jsjavascript
1.vue2和vue3双向数据绑定原理发生了改变vue2的双向数据绑定是利用ES5的一个APIObject.defineProperty()对数据进行劫持结合发布订阅模式的方式来实现的。vue3中使用了es6的ProxyAPI对数据代理。2.vue2使用的是选项式APIvue3使用的是组合式API3.Vue2在data中定义数据,vue3在setup的语法糖帮助下,可以像js那样书写代码4.生命周
- 【UE】Level、World
fadtes
UEunrealengine游戏unrealengine4
LevelLevel在UnrealEngine(UE)中代表游戏的关卡或地图,是游戏世界的一个组成部分。它是一个容器,包含了多个游戏对象(Actors),并支持环境的各种设定和行为脚本。Level的设计理念与功能继承性:Level继承自UObject,因此拥有UObject的所有特性,如内存管理和反射功能。脚本支持:默认包含一个ALevelScriptActor,允许开发者在Level中直接编写脚
- 1f7b9a6b7c5.html,View source code: library_access.rar_Main_Form.dfm page_1 - VerySource
綾音Ayane
objectMain_F:TMain_FLeft=170Top=130BorderStyle=bsSingleCaption=#22270#20070#31649#29702#31995#32479ClientHeight=606ClientWidth=776Color=clBtnFaceFont.Charset=DEFAULT_CHARSETFont.Color=clWindowTextFont
- 二叉树的层次遍历
byg_qlh
算法数据结构算法数据结构
二叉树的层次遍历描述给你一个二叉树,请你返回其按层次遍历得到的节点值(即逐层地,从做到右访问所有节点)代码通过两个数组来交替打印classSolution(object):deflevelOrder(self,root):ifroot==None:return[]stack=[root]secondStack=[]ret=[[root.val]]whilestackorsecondStack:te
- Vue介绍
go5463158465
前端vue.js前端javascript
一、Vue框架简介Vue.js是一个用于构建用户界面的渐进式JavaScript框架。它的核心库只关注视图层,易于上手,并且可以与其他库或现有项目进行整合。其特点包括响应式数据绑定、组件化开发和虚拟DOM等。响应式数据绑定Vue通过Object.defineProperty()方法来进行数据劫持。当一个Vue实例被创建时,它会遍历数据对象的所有属性,并使用Object.defineProperty
- 【Eigen教程】高级矩阵操作(四)
十年一梦实验室
矩阵c++算法线性代数开发语言
内存对齐(MemoryAlignment)按值传递Eigen对象给函数(PassingEigenobjectsbyvaluetofunctions)别名(Aliasing)内存映射(MemoryMapping)一元表达式(UnaryExpression)Eigen仿函数(EigenFunctor)内存对齐(MemoryAlignment)Eigen的矩阵和向量在分配内存时会自动对齐,以提高性能,特
- 6-scala特质
qwy715229258163
scalascala开发语言后端
特质(Traits)用于在类(Class)之间共享程序接口(Interface)和字段(Fields)。它们类似于Java8的接口。类和对象(Objects)可以扩展特质,但是特质不能被实例化,因此特质没有参数。定义一个特质最简化的特质就是关键字trait+标识符:traitHairColor特征作为泛型类型和抽象方法非常有用。traitIterator[A]{defhasNext:Boolean
- asp.net json参数请求接口方法
suxuelian
asp.netc#
废话不多说,直接上源码调用代码://请求实体varmodel=newPersonnel(){Name="赵思文",Sex="男"};//请求接口varhtml=PostHtmlByJson("http://www.test.api.com",JsonConvert.SerializeObject(model));请求方法//////post请求方法//////请求地址///json参数///pub
- var,let,const区别详解
Allons.
javaScriptjavascriptjses6
ES6新增了两种声明变量的方式:let,const二者的出现解决了ES5javaScript没有块级作用域的问题。但是三个声明变量的方式存在着一定的区别。1.作用域:var的作用域:只存在于当前作用域。varvar1='var1';functionfunc(){varvar2='var2';}for(varvar3=0;var3<10;var3++){}console.log(var1);//定义
- Google 跨平台方案 Flutter 从入门到实战
2401_84121603
程序员flutter
printNumber(numaNumber){print(‘Thenumberis$aNumber.’);//控制台打印}//启动方法,类似于java的main函数main(){varnumber=42;printNumber(number);}我们可以以看到一下几点:能赋值给变量的所以东西都是对象,包括numbers,null,function,都是继承自Object内置类尽量给变量定义一个类
- redis学习笔记——不仅仅是存取数据
Everyday都不同
returnSourceexpire/delincr/lpush数据库分区redis
最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)
1、关于JedisPool.returnSource(Jedis jeids)
这个方法是从red
- SQL性能优化-持续更新中。。。。。。
atongyeye
oraclesql
1 通过ROWID访问表--索引
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
2 共享SQL语句--相同的sql放入缓存
3 选择最有效率的表
- [JAVA语言]JAVA虚拟机对底层硬件的操控还不完善
comsci
JAVA虚拟机
如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢?
&n
- lvs- real
男人50
LVS
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
#. /etc/rc.d/init.d/functions
VIP=10.10.6.252
host='/bin/hostname'
case "$1" in
sta
- 生成公钥和私钥
oloz
DSA安全加密
package com.msserver.core.util;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
public class SecurityUtil {
- UIView 中加入的cocos2d,背景透明
374016526
cocos2dglClearColor
要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll
- mysql常用命令
香水浓
mysql
连接数据库
mysql -u troy -ptroy
备份表
mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql
恢复表(与恢复数据库命令相同)
mysql -u troy -ptroy mm_database < user.sql
备份数据库
mysqldump -u troy -ptroy
- 我的架构经验系列文章 - 后端架构 - 系统层面
agevs
JavaScriptjquerycsshtml5
系统层面:
高可用性
所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速
- 利用ant进行远程tomcat部署
aijuans
tomcat
在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下:
1.配置tomcat的用户角色
- 获取复利总收入
baalwolf
获取
public static void main(String args[]){
int money=200;
int year=1;
double rate=0.1;
&
- eclipse.ini解释
BigBird2012
eclipse
大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。
Overview
1、Eclipse.ini的作用
Eclipse startup is controlled by th
- AngularJS实现分页功能
bijian1013
JavaScriptAngularJS分页
对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。
&nbs
- [Maven学习笔记三]Maven archetype
bit1129
ArcheType
archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.
mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,
mvn archetype
1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener
- 【Java命令三】jps
bit1129
Java命令
jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看
[hadoop@hadoop bin]$ jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:
- ZABBIX2.2 2.4 等各版本之间的兼容性
ronin47
zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容
zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p
- unity 3d还是cocos2dx哪个适合游戏?
brotherlamp
unity自学unity教程unity视频unity资料unity
unity 3d还是cocos2dx哪个适合游戏?
问:unity 3d还是cocos2dx哪个适合游戏?
答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2,
- 百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序
bylijinnan
java算法面试百度招聘
import java.util.Arrays;
/**
* 最早是在陈利人老师的微博看到这道题:
* #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K
* 设计一个排序算法。It should be faster than O(n*lgn)。
- 获取checkbox复选框的值
chiangfai
checkbox
<title>CheckBox</title>
<script type = "text/javascript">
doGetVal: function doGetVal()
{
//var fruitName = document.getElementById("apple").value;//根据
- MySQLdb用户指南
chenchao051
mysqldb
原网页被墙,放这里备用。 MySQLdb User's Guide
Contents
Introduction
Installation
_mysql
MySQL C API translation
MySQL C API function mapping
Some _mysql examples
MySQLdb
- HIVE 窗口及分析函数
daizj
hive窗口函数分析函数
窗口函数应用场景:
(1)用于分区排序
(2)动态Group By
(3)Top N
(4)累计计算
(5)层次查询
一、分析函数
用于等级、百分点、n分片等。
函数 说明
RANK() &nbs
- PHP ZipArchive 实现压缩解压Zip文件
dcj3sjt126com
PHPzip
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。
一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11
- 精彩英语贺词
dcj3sjt126com
英语
I'm always here
我会一直在这里支持你
&nb
- 基于Java注解的Spring的IoC功能
e200702084
javaspringbeanIOCOffice
- java模拟post请求
geeksun
java
一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。
import org.apache.http.HttpEntity ;
import org.apache.http.HttpRespon
- Swift语法之 ---- ?和!区别
hongtoushizi
?swift!
转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
var stringValue : String
//
- centos7安装jdk1.7
jisonami
jdkcentos
安装JDK1.7
步骤1、解压tar包在当前目录
[root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz
步骤2:配置环境变量
在etc/profile文件下添加
export JAVA_HOME=/usr/java/jdk1.7.0_75
export CLASSPATH=/usr/java/jdk1.7.0_75/lib
- 数据源架构模式之数据映射器
home198979
PHP架构数据映射器datamapper
前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。
一、概念
数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。
&nb
- 在Python中使用MYSQL
pda158
mysqlpython
缘由 近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到
数据库中。 了解到
Python在这方面有优势,便选用之。 由于我有台
server上面安装有
mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里
记录一下,大家共勉。
python中mysql的调用
百度之后能够通过MySQLdb进行数据库操作。
- 单例模式
hxl1988_0311
java单例设计模式单件
package com.sosop.designpattern.singleton;
/*
* 单件模式:保证一个类必须只有一个实例,并提供全局的访问点
*
* 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件
*
* 必须考虑到并发情况下创建了多个实例对象
* */
/**
* 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率
- 27种迹象显示你应该辞掉程序员的工作
vipshichg
工作
1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。