- AI浪潮下:普通员工的超级进化之路
CodeJourney.
算法人工智能数据库人工智能
一、引言:AI时代的职场变革风暴在科技飞速发展的今天,人工智能(AI)正以雷霆万钧之势席卷全球,深刻地改变着各个行业的运作模式和人们的生活方式,职场也未能幸免。从简单的办公软件智能化,到复杂生产流程的自动化,AI的身影无处不在。这一变革浪潮既带来了前所未有的机遇,也给普通员工带来了巨大的挑战。如何在这股浪潮中找准方向,实现从普通员工到“超级个体”的华丽转身,已成为当代职场人亟待解决的关键问题。二、
- c++类型转换、智能指针以及void *的讲解
晓纪同学
QTc++开发语言
文章目录简介1.**C++类型转换****`const_cast`****`static_cast`****`dynamic_cast`****`reinterpret_cast`**2.**C++智能指针****`auto_ptr`(已弃用)****`shared_ptr`**std::shared_ptr的线程安全考虑与实现方式对象访问的线程安全**`weak_ptr`**std::weak_
- C++11 auto decltype
azaz_plus
C++c++C++11autodecltype
一、auto关键字作用auto允许编译器根据变量的初始化表达式自动推导其类型,无需显式指定。C++11的改进基本用法autox=5;//x推导为intautoy=3.14;//y推导为doubleautostr="hello";//str推导为constchar*推导规则auto会忽略顶层const和引用,但保留底层const:constinta=10;autob=a;//b类型为int(忽略顶层
- C++类型转换
九点前吃饭
C++类型转换
1、类型转换名称和语法C风格的强制类型转换(TypeCast)很简单,不管什么类型的转换统统是:TYPEb=(TYPE)aC++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。static_cast静态类型转换。如int转换成charreinterpreter_cast重新解释类型dynamic_cast命名上理解是动态类型转换。如子类和父类之间的多态类型转换。const_cast,字
- c++ - 类型转换
、xzy
c++入门到放弃c++开发语言数据结构c语言笔记
文章目录一、内置类型与内置类型二、内置类型与自定义类型三、内置类型与内置类型四、c++标准中的4种类型类型转换1、c++为什么要有这4种转换2、static_cast3、reinterpret_cast4、const_cast5、dynamic_cast6、RTTI一、内置类型与内置类型1、隐式类型转换:一般是类型与类型之间关联性大的才能进行转换,如:整形与整形、整形与浮点型。2、显示类型转换:当
- cmake之旅(1)
m晴朗
cmakecmakeqtc++makefile
cmake之旅(1)1构建的过程2手动构建2.1环境2.2开始编译3使用Makefile简化构建3.1环境3.2编写Makefile4使用cmake构建4.1环境4.2编写CMakeLists.txt1构建的过程我们先写一个简单的的程序:#includeintmain(){std::cout#defineNUM12intmain(){//注释std::cout#include"add.h"#inc
- 【每日学点鸿蒙知识】Json字典问题、高度变化问题、开放测试版本问题、动态库单架构选择、WebView和H5交互
轻口味
每天学点HarmonyOSNext知识harmonyosjson架构
1、HarmonyOSJSON.stringify一个HashMap的问题?letdata=newHashMap()data.set("action","test")lettext=JSON.stringify(data)输出一个text={}这边想添加多个并且不同的key和value,并返回json的字符串,如何实现呢?可以参考以下代码:constmap1:HashMap=newHashMap(
- 前端解决get请求传递数组
前端小趴菜05
前端
直接使用get请求传递数组,会报错解决方案1.传递字符串,将数组转为字符串进行传递,后端也以字符串接受//使用join方法将数组转为字符串letdata=[1,2,3,4,5]letparams=data.join(',')//1,2,3,4,52.将数组转换为查询字符串格式,并附加到URL上constarrayToQueryString=(data:number[],key:string)=>{
- vue3使用使用 lodash 插件 实现防抖节流
前端小趴菜05
vue.jsjavascript前端
安装插件npminstalllodash--save使用在页面引入import_from"lodash";防抖前面的所有触发都被取消,最后一次执行在规定的时间之后才会触发,也就是说如果连续触发,只会执行一次_.debounce()//lodash封装的防抖函数//使用//vue3里面定义方法的时候,直接在setup里面使用防抖函数包裹一下constvalueChnage=_.debounce(()
- JavaScript 读取电脑复制的内容
前端小趴菜05
javascript前端
使用navigator.clipboardAPI读取备注:由于安全和隐私原因,此API只能在安全上下文中运行(即HTTPS或本地服务器),并且在某些情况下可能需要用户交互(例如,点击事件)。使用//HTML粘贴//JSasyncfunctiongetClipboardText(){try{consttext=awaitnavigator.clipboard.readText();console.l
- 蓝桥杯单片机刷题——E2PROM记录开机次数
lzb759
一个月备赛蓝桥杯单片机蓝桥杯单片机
设计要求使用E2PROM完成数据记录功能,单片机复位次数记录到E2PROM的地址0中。每复位一次数值加1,按下按键S4,串口发送复位次数。串口发送格式如下:Number:1备注:单片机IRC振荡器频率设置为12MHz。按键模式:BTN;扩展方式:IO模式。串口通信波特率设置为9600。代码:sys.h#ifndef__SYS_H__#define__SYS_H__#include#include"
- 简单易懂的javaScript:函数
sententias
javascript开发语言ecmascript
函数实际上也是对象,每个函数都是Function类型的实例,函数名就是指向函数对象的指针。函数声明functionsum(num1,num2){returnnum1+num2;}函数表达式constsum=function(num1,num2){returnnum1+num2;};函数声明和函数表达式几乎是等价的。ES6新增,箭头函数constsum=(num1,num2)=>{returnnum
- Rust基础语法
Sean2077
rust
以下是Rust语言基础语法的核心要点,结合与JavaScript的对比,帮助前端开发者快速掌握核心概念:一、变量与常量1.变量声明Rust:变量默认不可变,需用mut显式声明可变性。letx=5;//不可变变量letmuty=10;//可变变量y+=1;//允许修改JavaScript对比:constx=5;//不可变常量lety=10;//可变变量2.常量Rust:必须显式标注类型,命名风格全大
- 立方体1+1+1
一一代码
python
3DCubeconstscene=newTHREE.Scene();constcamera=newTHREE.PerspectiveCamera(75,window.innerWidth/window.innerHeight,0.1,1000);constrenderer=newTHREE.WebGLRenderer();renderer.setSize(window.innerWidth,win
- (6)tensorflow数学运算
小蜗笔记
Tensorflow基础入门
数学运算功能代码函数加tf.add减tf.subtract乘tf.multiply除tf.divide整除//余除%乘方**或者tf.pow(x,a)矩阵乘法@平方和tf.square(x)平方根tf.sqrt(x)自然指数etf.exp(x)自然对数tf.math.log()简单运算importtensorflowastfa=tf.range(1,9)b=tf.constant(2)c=tf.c
- 【二分】阶乘0的数量
lamentropetion
数学数据结构
一发过!题目-阶乘0的数量V2(51nod.com)题意:思路:首先是个常识:一个数结尾0的个数取决于(2,5)这一对的个数,即5这个因子的个数然后注意特殊性,1e9个0,说明不能算出来然后n越大,阶乘里的0的个数就越多,所以满足二段性,所以可以二分统计阶乘中因子p的个数可以这样算:n/p的个数,n/(p*p)的个数....这样加起来就好了Code:#include#defineintlonglo
- PTA 6-8 简单阶乘计算 (10 分)
莉莉妖_
Cjava开发语言后端
本题要求实现一个计算非负整数阶乘的简单函数函数接口定义:intFactorial(constintN);其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0裁判测试程序样例:#includeintFactorial(constintN);intmain(){intN,NF;scanf("%d",&N);NF=Factorial(N);if(NF)print
- AI赋能办公:开启高效职场新时代
CodeJourney.
算法人工智能数据库
在数字化浪潮中,AI正深度融入办公领域,彻底改变传统办公模式。它为职场人带来全新工具和方法,大幅提升办公效率,助力告别无效加班。一、AI赋能智能职场文案写作传统职场文案写作耗时久,而AI工具能将时间大幅缩短。然而,很多人使用AI写作时存在困惑,觉得生成内容与预期差异大。实际上,掌握正确方法,AI可成为强大文案助手。1.明确指令,避免简单搜索式使用:AI和搜索引擎有本质区别。搜索引擎是匹配网页链接,
- 糖果--状压dp--用二进制求满足种类的最小包数
泛舟起晶浪
算法数据结构
用二进制求满足种类的最小包数集合式(表示每一个元素是否在集合中)1.用usingnamespacestd;#defineN100011typedeflonglongll;typedefpairPII;intt[110];intn,m,k;intdp[10000009];///2的20次方大小,因为m>n>>m>>k;for(inti=1;i>x;t[i]|=(1n)cout<<-1;///满了但不
- ngx_conf_merge_msec_value
若云止水
服务器mysql数据库
定义在src\core\ngx_conf_file.h#definengx_conf_merge_msec_value(conf,prev,default)\if(conf==NGX_CONF_UNSET_MSEC){\conf=(prev==NGX_CONF_UNSET_MSEC)?default:prev;\}如果子配置未设置,继承父配置;若父配置也未设置,使用默认值
- React将props传递给一个组件
正宗咸豆花
react.js前端前端框架
React组件通讯:从单向数据流到跨层级交互的深度实践——基于Props的通讯机制解析与高阶模式探索一、Props的本质:不可变数据管道React的props(properties)机制构建了单向数据流的核心范式。每个父组件通过props向子组件注入数据时,本质上是在创建一条不可变数据管道。这种设计哲学源自函数式编程思想://父组件//子组件constUserProfile=({name,role
- React 中的“不可变性”是什么?为什么“不可变性”重要?状态(state)和属性(props)都需要遵循吗?
开开Kathy
React开发疑难解答(面试大全)前端react.js
React中的“不可变性”是什么?在React中,“不可变性”是指不直接修改对象或数据的原始值,而是通过创建新对象或新数组来更新数据的开发模式。换句话说,数据一旦创建就不会被改变,而是通过复制和更新来生成新的数据。例如:可变操作(不推荐):constarr=[1,2,3];arr.push(4);//修改了原数组console.log(arr);//[1,2,3,4]不可变操作(推荐):const
- 【第一次团体赛赛后部分题解】
不会敲代码就打代码
算法数据结构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档第一次团体赛赛后部分题解A欢迎来到算法世界B更待西湖彻底干此间应有再生缘D我上面有人儿G三人成行J娇の礼帽K我来组成头部总结A欢迎来到算法世界#includeusingnamespacestd;intmain(){chara='"';coutusingnamespacestd;#definelllonglong#defineendl'
- 2024年必须要知道的7大Javascript特性
codeory
JavaScriptjavascript前端开发语言
1.Promise.withResolvers(带解析器的Promise)这个新特性引入了一个创建Promise的新方法,它公开了其解析(resolve)和拒绝(reject)的回调函数。通过Promise.withResolvers,开发者们可以创建可以在执行函数之外解析或拒绝的Promise,从而在异步编程中提供了更大的灵活性。const[promise,resolve,reject]=Pro
- <数据结构> top指针指向栈顶元素下一位的顺序栈实现(C语言)(第2种/共2种)
巴巴_羊
数据结构数据结构c语言
#include#include#include#defineMaxSize5typedefstruct{intdata[MaxSize];inttop;}SqStack;intInitStack(SqStack*S){S->top=0;printf("该顺序栈已完成初始化\n\n");return1;}intlength(SqStackS){return(S.top);}intisEmpty(S
- <数据结构> rear指针指向队尾元素 &&设置一个标志变量size 的循环队列实现(C语言)(第5种/共6种)
巴巴_羊
数据结构数据结构c语言算法
#include#include#include#defineMaxSize5typedefstruct{intdata[MaxSize];intfront,rear,size;}SqQueue;intInitQueue(SqQueue*Q)//此种实现不需要牺牲一个存储位置{//同时队空和队满时皆有:(Q.rear+1)%MaxSize==Q.frontQ->rear=MaxSize-1;//方
- <数据结构> top指针指向栈顶元素的顺序栈实现(C语言)(第1种/共2种)
巴巴_羊
数据结构数据结构c语言算法
#include#include#include#defineMaxSize5typedefstruct{intdata[MaxSize];inttop;}SqStack;intInitStack(SqStack*S){S->top=-1;printf("该顺序栈已完成初始化\n\n");return1;}intlength(SqStackS){return(S.top+1);}intisEmpt
- Vue学习笔记集--父子通讯
Three~stone
vue.js学习笔记
父子通讯在Vue3中,父子组件通信的核心方式与Vue2类似,但CompositionAPI和语法带来了一些新的特性。以下是Vue3父子通信的完整指南:Props向下传递数据(父→子)1.父组件传递数据import{ref}from'vue';importChildfrom'./Child.vue';constparentTitle=ref('父组件标题');constcount=ref(0);2.
- The selected directory is not a valid home for Go SDK
Hat_man_
Gogolang开发语言后端
安装完毕Go和GoLand之后,重新配置GoLand的GOROOT时,可能会报错TheselecteddirectoryisnotavalidhomeforGoSDK需要找到安装Go的目录,我的目录如下D:\SoftFolder\Go\src\runtime\internal\sys进入到sys文件下,找到zversion.go,并打开,输入如下字符(要直接复制,容易有字符不符合要求)constT
- 2025前端八股文终极指南:从高频考点到降维打击的面试突围战
console.log 战略储备局局长
前端面试职场和发展
2025前端八股文终极指南:从高频考点到降维打击的面试突围战一、2025前端八股文核心考点重构1.1新型响应式系统三连问Vue3信号式响应性://信号式响应性底层实现const[count,setCount]=createSignal(0)effect(()=>{console.log("当前值:",count())//依赖自动追踪})实现原理:基于SolidJS的细粒度更新机制,仅触发相关DOM
- 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分钟才开始测试。