- 《Operating System Concepts》阅读笔记:p17-p25
操作系统
《OperatingSystemConcepts》学习第5天,p17-p25总结,总计9页。一、技术总结1.计算机系统的组成结构(1)CPU—Thehardwarethatexecutesinstructions.(2)Processor—AphysicalchipthatcontainsoneormoreCPUs.(3)Core—ThebasiccomputationunitoftheCPU.(
- nlp技术
tqs_12345
人工智能自然语言处理
自然语言处理(NaturalLanguageProcessing,NLP)技术是一种计算机科学与人工智能的交叉领域,涉及机器对人类语言进行处理和理解的能力。以下是一些常见的NLP技术的示例:1.机器翻译:NLP技术可以帮助机器将一种语言翻译成另一种语言。例如,谷歌翻译使用NLP技术实现自动翻译,用户可以输入一段文本,然后谷歌翻译会自动将其翻译成其他语言。2.文本分类:NLP技术可以将文本分类到不同
- 麒麟SoC的详细架构组成介绍
小蘑菇二号
麒麟
目录麒麟SoC的主要组成部分1.应用处理器(ApplicationProcessor,AP)2.图形处理单元(GPU)3.神经网络处理单元(NPU)4.图像信号处理器(ISP)5.调制解调器(Modem,基带芯片)6.多媒体编解码器7.安全模块8.连接模块9.存储控制器10.电源管理单元(PMIC)典型麒麟SoC示例Kirin9000总结麒麟(Kirin)是华为自主研发的一系列高性能系统级芯片(S
- JVM-常用工具(jps、jstat、jinfo、jmap、jhat、jstack、jconsole、jvisualvm)使用
霸道流氓气质
Java进阶jvmjava开发语言
场景记录JVM中常用工具。jps:虚拟机进程状态工具jps(JVMProcessStatusTool):虚拟机进程状态工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID。命令格式:jps[options][hostid]示例:jps-l选项:-q只输出LVMID,省略主类的名称-m输出虚拟机进程启动时传
- go语言获取机器的进程和进程运行参数 获取当前进程的jmx端口 go调用/jstat获取当前Java进程gc情况
march of Time
gojvmgolangjavapython
这里主要分享go中获取机器进程和进程参数的一些代码获取当前机器所有的pid:import"github.com/shirou/gopsutil/process"pids,err:=process.Pids()for_,pid:=rangepids{proc,err:=process.NewProcess(pid)iferr!=nil{log.Errorf("getpid%dinfoerror:%s
- 软件方法论--课程笔记(整理中)
给bug两拳
软件方法论笔记
目录C1:概览Introduction(1)软件的4个特性(2)软件产品的2种类型(3)软件过程的4个活动过程(4)软件的6个质量特性C2:软件过程SoftwareProcesses(1)软件过程的模型(2)改进C3:敏捷开发AgileSoftwareDevelopment(1)敏捷开发vs传统开发(2)敏捷宣言的4句话(3)敏捷方法适用的情况(4)极限编程(eXtremeProcessing)(
- 利用java编写一个简单计算器(实现加减乘除)
嘵奇
Java小程序java
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210515164416507.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxNDc5ODUwNTgx,size_16,color_FFFFFF,t
- DeepSeek生成思维导图
爆爆凯
网盘分享深度学习
一、准备阶段工具准备安装思维导图软件(推荐XMind/MindMaster/在线工具如ProcessOn)打开DeepSeek官网或集成平台(https://www.deepseek.com/)明确需求确定思维导图核心主题(如"碳中和实施方案")规划预期结构层级(建议3-4级:中心主题→主分支→子分支→细节)二、生成核心结构输入提示词模板请生成关于[XX主题]的思维导图框架,要求:1.包含5-7个
- 小程序二:利用Python编写一个简单的计算器(实现加减乘除)
嘵奇
Python小程序python
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210515164416507.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxNDc5ODUwNTgx,size_16,color_FFFFFF,t
- Go语言学习路线(持续更新)
寅贝勒
Go核心知识学习golang
Hey,我是寅贝勒,后端开发一枚,欢迎来我的个人网站www.ly-zone.cloud一起学习交流~说明博客分为两部分,第一部分为Go学习路线的思维导图,第二部分为思维导图对应的每个部分的讲解文章以及视频(持续更新)全文中Go语言的版本将会采用最新的1.19版本1、思维导图链接:https://www.processon.com/view/link/62e6331d1e0853070699f85f
- Expand Reach with Multilingual Data Editors
SEO-狼术
DelphinetCrack开发语言
ExpandReachwithMultilingualDataEditorsEnhanceuserexperience,accessibility,andglobalcollaborationwithlocalizeddataeditorsthatadapttomultiplelanguageworkflows.Localizationistheprocessofadaptingtheuserin
- 关于ARM体系中栈的对齐问题
Quan略略略
嵌入式系统单片机系统arm嵌入式操作系统
关于ARM体系中栈的对齐问题-汤权基于ARM架构的处理器的C语言程序设计遵循ATPCS(ARM-THUMBprocedurecallstandard)和AAPCS(ARMApplicationProcedureCallStandard)。ATPCS规定数据栈为FD(满递减FullDecrease)类型,并且对数据栈的操作是8字节对齐的。在我自己的轻量级的嵌入式操作系统tqOS中没有考虑到线程工作栈
- Linux vmstat 命令
脑子进水养啥鱼?
Linux一些有用的小记linux
作用性能监控工具。示例vmstat25:每2秒执行1次,共执行5次。下列示例中加了-w80参数增加显示长度,目的是对齐字段值,Ctrl+C可停止输出。[root@localhost~]#vmstat2-w80procs-----------------------memory-------------------------swap-------io-----system----------cpu
- 【20天快速掌握Python】day20-手动搭建HTTP服务器
菜鸟进阶站
Python后端开发编程pythonhttp服务器
演示代码: importre importsocket frommultiprocessingimportProcess classWSGIServer(): def__init__(self,server,port,root): self.server=server self.port=port self.root=root self.server_s
- OpenGL画三角形
YY_oot
图形学OpenGL
目录OpenGL窗口OpenGL三角形OpenGL画圆OpenGL窗口【代码总览】glfw初始化、配置、创建窗口glad初始化渲染循环,检测输入并给窗口涂颜色清理操作//渲染循环while(!glfwWindowShouldClose(window)){//输入processInput(window);//渲染指令…//检查并调用事件,交换缓冲glfwPollEvents();glfwSwapBu
- 【C#】Process、ProcessStartInfo启动外部exe
wangnaisheng
C#c#
在C#中使用Process和ProcessStartInfo类启动外部.exe文件,可以按照以下步骤进行:创建ProcessStartInfo实例:配置进程启动信息,包括可执行文件的路径、传递给该程序的参数等。设置启动选项:根据需要配置ProcessStartInfo的属性,例如是否使用ShellExecute、是否重定向标准输入/输出流等。启动进程:使用Process.Start方法并传入Pro
- Android原生的HighCPU使用率查杀机制
法迪
androidjava前端功耗
摘要原生的HighCPU使用率查杀机制是基于读取/proc/pid/stat中的utime+stime后,根据CPU使用率=(utime+stime/totalTime)*100%进行实现,当检测后台进程的CPU使用率超过阈值时,执行查杀和统计到电池数据中。细节点:1.原生根据不同的后台运行时间,制定不同的查杀阈值,这点不错哈;2.如果对超级应用或核心应用有保活的定制需求,需要进行在原生的CPU高
- Hook
sanshao27
hookwindowscronwinapikeyboardpascal
APIHookingRevealed来自CodeGuru的一篇文章http://www.codeguru.com/Cpp/W-P/system/misc/article.php/c5667posted@2005-03-2811:07HuYi'sBlog阅读(29)|评论(0)|编辑收藏ProcessingGlobalMouseandKeyboardHooksinC#http://www.codep
- MQTT实战之在vue和java中使用
沐暖沐
vue.jsjava前端
在VUE中使用MQTT1、创建vue项目(使用node版本为20.12.0)>>npmcreatevite@latestNeedtoinstallthefollowingpackages:
[email protected]?(y)y√Projectname:...mqtt-vue√Selectaframework:»Vue√Selectavariant:»JavaScript
- 小猿口算脚本
.鱼子酱
pythonadb安卓
实现原理:安卓adb截图传到电脑,然后用python裁剪获得两张数字图片,使用ddddocr识别数字,比较大小,再用adb命令模拟安卓手势实现>{path}')#读取截取的屏幕截图并替换行结束符withopen(path,'rb')asf:returnf.read().replace(b'\r\n',b'\n')defprocess_image(image_path,crop_area):"""打
- 僵尸DDOS设置与部署.c
金猪报喜-阿尔法
网络安全
importsubprocess,sys#
[email protected](sys.argv[2])!=0:ip=sys.argv[2]else:print("\x1b[1;95mIncorrectUsage!\x1b[0m")exit(1)bot=sys.argv[1]Sakura=raw_input("\x1b[1;95mReadyToInstallCrossCompilers?
- Implementing JSON RPC 2.0 over WebSocket with Spring Bo
AI天才研究院
Python实战Java实战深度学习实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介JSON-RPC(RemoteProcedureCall)是一种远程过程调用(RPC)协议。它允许客户端通过网络从远端服务器请求服务。本文将展示如何在SpringBoot框架上实现JSON-RPC协议。基于WebSocket,前端通过JavaScript调用后端的方法并获取结果。我们还将讨论关于性能,容错性,可扩展性等方面的问题。2.基本概念及术语JSONJav
- 我用DeepSeek写代码一周后,发现了这些惊人的秘密
fangwulongtian
python开发语言人工智能
大家好,我是武哥。作为一名有着10年开发经验的程序员,最近我深度体验了DeepSeek的代码能力,不得不说,这款国产大模型给了我太多惊喜。今天,我要和大家分享使用DeepSeek一周以来的心得体会,以及我发现的一些不为人知的"秘密武器"。1.惊人发现一:超强的代码理解能力1.1精准的代码解析先看一个实际案例:# 一个较为复杂的Python类class DataProcessor: def _
- mysql存储过程语法
DN金猿
mysqloracle及其他数据库数据库mysql存储过程存储函数
存储过程:1.DELIMITER修改结束符号DELIMITER$$2.创建存储过程CREATEPROCEDURENAME([PARAMETER[...]])BODY参数类型:IN/INOUT/OUT3.调用CALLNAME([PARAMETER])4.删除DROPPROCEDURE[IFEXISTS]NAME5.在存储过程体中开头处声明局部变量DECLAREnametype(DEFAULTvalu
- mysql用函数调用存储过程_mysql 函数 调用 存储过程
weixin_39585974
mysql用函数调用存储过程
Mysql高级之存储过程原文:Mysql高级之存储过程概念类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现.在封装的语句体里面,可以用if/else,case,while等控制结构.可以进行sql编程.在mysql中,存储过程和函数...文章杰克.陈2014-11-14657浏览量Mysql函数(function)|存储过程(procedure)funct
- mysql调用存储函数语法_MySQL调用存储过程和函数
weixin_39979332
mysql调用存储函数语法
MySQL调用存储过程和函数用call和你过程名以及一个括号,括号里面根据需要,加入参数,参数包括输入参数、输出参数、输入输出参数。具体的调用方法可以参看上面的例子。1.调用存储过程存储过程是通过CALL语向进行调用的,语法如下:CALLsp_name([parameter[,...]])CALL语句调用一个先前用CREATEPROCEDURE创建的存储过程,其中sp_name为存储过程的参数。【
- Unity win平台 调整窗口大小强制固定比例
春天花花幼稚园的程序员教孩子如何玩键盘
UnityC#
我写了一个脚本,对独立的Windows版本(仅Windows,32/64位)强制执行任意宽高比。它通过拦截窗口调整大小事件(特别是WinProc回调函数)并对其进行修改以保持所需的宽高比来工作。将AspectRatioController.cs添加到场景中的任何GameObject。然后在Inspector中设置所需的纵横比和最小分辨率值。usingUnityEngine;usingSystem;
- DeepSeek代码能力实测:超越GPT-4的背后
fangwulongtian
人工智能数据挖掘机器学习chatgpt
作为一个深耕AI领域多年的开发者,我最近对DeepSeek和GPT-4的代码能力做了一次全方位的对比测试。让我惊讶的是,在很多场景下DeepSeek不仅不输GPT-4,甚至还有独特的优势。今天,我就跟大家分享一下具体的测试结果和背后的技术原理。1.代码理解能力测试1.1复杂代码解析我先用一段较为复杂的代码来测试两个模型的理解能力:class DataProcessor: def __init
- 基于Python实现的缓存淘汰替换策略算法,该算法将缓存分区
go5463158465
算法pythonpython缓存算法
以下是一个基于Python实现的缓存淘汰替换策略算法,该算法将缓存分区,并根据不同分区的优先级进行淘汰,同时会自适应地调整缓存汰换的时机和力度,还会与GPTCache自带的LRU和FIFO策略进行对比。importtimefromgptcache.managerimportCacheBase,VectorBase,get_data_managerfromgptcache.processor.pre
- DynamicTp动态线程池组件
@淡 定
python开发语言
maven引入:org.projectlomboklombokorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-autoconfigure-processorcom.alibaba.bootnacos-config-spring-boot-starter0.2.12org.droma
- 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分钟才开始测试。