- 深入浅出Node.js后端开发
jghhh01
node.js
让我们来理解Node.js的核心——事件循环和异步编程模型。在Node.js中,所有的I/O操作都是非阻塞的,这意味着当一个请求开始等待I/O操作完成时(如读取文件或数据库操作),Node.js不会阻塞后续操作,而是继续执行其他任务。这种机制大大提高了应用的性能和吞吐量。constfs=require('fs');fs.readFile('file.txt','utf8',(err,data)=>
- python网络安全实战_基于Python网络爬虫实战
weixin_39907850
python网络安全实战
文件的操作:一般都要使用os模块和os.path模块importos.pathos.path.exists('D:\\Python\\1.txt')#判断文件是否存在abspath(path)#返回path所在的绝对路径dirname(p)#返回目录的路径exists(path)#判断文件是否存在getatime(filename)#返回文件的最后访问时间getctime(filename)#返回
- 生信技能16 - 生信分析序列处理常用函数
生信与基因组学
生信分析项目实战技能合集pythonnumpy数据分析
生信分析序列处理常用函数生信分析经常需要对序列进行处理,下面的实现代码可用于个人练习,可以让我们更好地理解序列处理的原理,当然python也有更高效率的包可以实现以下功能。read_seq_file读取序列txt文件函数count_nucletotides计算各核苷酸数量函数dna2rnaDNA序列转RNA序列函数seq_reverseDNA序列转换为互补序列函数count_GC_ratio计算序
- H265 Intro - General Concepts
fanbird2008
StreamMediaStreamMedia/HEVC/H265hevc
http://www.f265.org/f265/static/txt/h265_companion.htmlH.265CompanionPurposeandorganizationofthisdocumentThisdocumentcontainshuman-readableinformationaboutthemorecomplexpartsoftheH.265specification.It
- Node.js-fs模块
会飞的鱼先生
node.jsvim编辑器
文件写入异步写入文件(fs.writeFile())//语法:fs.writeFile(file,data[,options],callback)//参数:文件路径、数据、选项(可选)、回调函数(err)constfs=require('fs');fs.writeFile('file.txt','HelloNode.js',function(err){if(err)throwerr;console
- linux查看内存泄露工具,linux 内存泄露检测工具
陈濯濯
linux查看内存泄露工具
ValgrindMemcheck一个强大开源的程序检测工具安装cdvalgrind./autogen.sh./configuremakemakeinstall使用1、编译你的程序debug版本./TestMem2、执行:valgrind--tool=memcheck--leak-check=full--log-file=./log.txt./TestMemmtraceGNU扩展,用来跟踪mallo
- c++17标准std::filesystem常用函数
C++ 老炮儿的技术栈
c++算法开发语言c语言数据库visualstudiogit
std::filesystem是C++17引入的标准库,用于处理文件系统操作,提供了跨平台的文件和目录操作能力。以下是一些常用的函数和类:一、路径操作(std::filesystem::path)cpp运行#includenamespacefs=std::filesystem;//路径构造与分解fs::pathp="C:/data/file.txt";p.parent_path();//返回目录路
- 一个简单测试Deepseek吞吐量的脚本,国内环境可跑
谢平康
深度学习pytorch人工智能
一个简单测试Deepseek吞吐量的脚本,这里用DeepSeek-R1-Distill-Qwen-32B,支持单卡409024G可跑,具体看你的硬件情况做调整,理论支持所有的模型,看你需要,可以修改模型名称,重点是pip使用国内的源,模型下载用阿里的ModelScope,无障碍下载,使用.最后可以生成一个txt与html报表.前提是你安装了python与python-venv,你可以不用venv来
- buuctf-misc-二维码1
mlws1900
ctfbuuctfmiscservletjarjava
显而易见的二维码题目,解压得到一个二维码解码获取内容secretishere我以为到这就结束了,flag{}加上就ok,结果发现失败用winhex打开看一下发现里面存在一个4numbers.txt用软件分离出来发现要密码,写着4numbers,应该就是纯数字密码爆破利用工具进行压缩包密码爆破密码为7639解压获得flagCTF{vjpw_wnoei}提交时候要改成flag{vjpw_wnoei}
- ESP32与SD卡交互实现:文件读写实战与初始化详解及引脚定义
本代码实现ESP32与SD卡的交互,包括定义SPI引脚、创建自定义SPI类实例、编写WriteFile与ReadFile函数进行文件读写。setup函数初始化串口、SPI、SD卡,向“/test.txt”写入“myfirstmessage”,读取并打印其内容。loop函数留空待扩展。1.需要准备的软硬件:1.1硬件:ESP32开发板SD卡模块(如下图),可以是单独的TF卡模块也可以是集成到TFT屏
- 【NodeJs】【npm】npm安装electron报错
果壳~
npmelectron前端
解决问题npm安装electron报错一般来说是镜像源的问题。electron的镜像源与一般的vue之类的镜像源地址不一样需要单独配置。npm读取的全局配置一般是在C:\Users\{用户}\.npmrc这个配置文件中。如果你找不到你的配置文件可以执行如下命令,#执行后会直接用txt打开你的配置文件进行修改保存即可npmconfigeditcache=D:\Develop\nodeJs\node_
- 【游戏技术分享 第41期】鸿蒙游戏调用queryProducts接口返回报错1001860001,系统内部错误
游戏技术分享
鸿蒙游戏-技术分享harmonyos游戏华为
关键词IAPkit,鸿蒙,商品查询问题描述游戏集成了鸿蒙应用内支付服务,商品已在AGC后台配置,调用queryProducts接口返回系统内部错误:问题分析使用hdchilog>D:\hilog.txt命令行抓取系统全量日志,搜索IAPNAPI看到错误描述“notsupportiap”:看描述是不支持iap服务,优先从以下几点排查:agc后台是否打开应用内支付开关和激活支付协议;测试使用的华为账号
- 如何批量将word文档转换为PDF
渍渍渍197
wordpdfc#
新建一个txt文件将以下代码复制进去OnErrorResumeNextSetwordTest=CreateObject("Word.Application")IfErr.Number<>0ThenMsgBox"MicrosoftWordnotfound!PleaseinstallWordfirst.",vbCritical,"Error"WScript.QuitEndIfwordTest.Quit
- c++ io操作(文件的读取与写入)
galaxy_strive
C++Studyc++开发语言
1文件的读取//文件操作模式//ios::app追加模式//ios::ate文件打开后定位到文件末尾//ios::in打开文件用于读取//ios::out打开文件用于写入//ios::trunc如果该文件已经存在,其内容将在打开之前被截断,即把文件长度设置为0//读取文件示例intmain(){fstreamfile("./io.txt",ios::in);//文件是否正常打开if(file.is
- VSCode在windows系统下编译动态链接库不生成Lib文件
小女孩真可爱
解决bugvscodec++
解决方法:(1)在CMakeLists.txt文件加入set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLSON)这句话放在前面才可以生成lib文件,放在最后面不会生成lib(2)第一步是解决编译找不到lib会发生报错,但并不会生成lib文件。所以需要再头文件(.h文件)里面增加一行,这样导出的时候才会生成lib文件。__declspec(dllexport)voidnothin
- Process.Start 方法的五个重载
小柚子~
C#c#
一、system.Diagnostics.Product.start方法主要用来启动一个进程资源,例如:打开一个exe,根据路径打开一个文件夹,打开一个txt,我工作项目中主要是用来打开exe。二、start重载微软提供了5个方法重载Process.Start方法(System.Diagnostics)|MicrosoftDocs:1、Start(stringfilename,stringargu
- 996引擎-假人系统
笑虾
996引擎996引擎
996引擎-假人系统lua假人问题添加假人名字列表打开M2设置假人参考资料lua假人问题添加假人名字列表假人名字列表Mir200\Envir\DummyNameList.txt打开M2设置假人【选项】>【假人设置】参考资料假人系统
- Apache 支持 HTTPS
童心同萌
https服务器网络协议
证书文件提取私钥opensslpkcs12-incert.pfx-nocerts-outprivate.key-nodes打开命令行(CMD或PowerShell),进入证书所在目录,输入上面命令,它会提示你输入密码,可以从password.txt中复制提取证书opensslpkcs12-incert.pfx-clcerts-nokeys-outcert.pemhttpd.confLoadModu
- SVN迁移至git-避坑指南
cityLight-dd
git版本控制gitsvn
获取历史开发人员名单主要是为了同步SVN历史提交记录到git进入到项目的svn根目录下,执行以下命令,可以获取到项目所有的历史提交人svnlog--xml|grep"^''{print$2}'|awk-F'''{print$1}'>userinfo.txt使用git下载SVN项目gitsvnclonesvn://127.0.0.1:33333/app/trunk/qct/JAVA/shinyway
- python教学爬虫入门
早柚不用工作了
python
Python爬虫入门教程:从零基础到抓取数据一、什么是网络爬虫?网络爬虫(WebCrawler),也称为网络蜘蛛(WebSpider),是一种按照一定的规则,自动抓取万维网信息的程序或者脚本。它能够模拟人类在浏览器中的操作,自动访问网页,提取所需的数据,广泛应用于数据采集、搜索引擎优化、市场调研等领域。但在编写爬虫时,务必遵守法律法规和网站的robots.txt协议,避免过度抓取对网站造成负担,同
- CMake实战指南:从入门到放弃(不是)的完整教程 [特殊字符]
文章目录一、为什么你的项目需要CMake?(灵魂拷问)二、5分钟极速安装指南Windows党看这里!Linux用户一条龙服务MacOS优雅安装法三、第一个CMake项目实战️CMakeLists.txt编写(重点中的重点!)main.cpp内容四、构建项目的正确姿势️五、CMake进阶技巧(装逼必备)1.多目录项目组织2.第三方库集成3.条件编译六、新手常见坑点大全️报错1:CMakeErrora
- ROS系列(三):从零构建机器人通信系统 --- 包创建+发布订阅+Launch实战 & RViz/rqt可视化利器拆解!
引言机器人操作系统(ROS)的核心在于其模块化通信架构与高效的开发流程。本指南直击ROS开发的核心技术环节,助你快速构建功能节点并实现系统集成。你将从理解工作空间(catkin_ws)这一代码与编译的容器开始,掌握使用catkin_create_pkg创建功能包(Package)的方法,并深入关键配置文件CMakeLists.txt与package.xml的作用。核心在于编写节点(Node):通过
- java解析数据_java解析txt里的数据
Snow668
java解析数据
java解析txt里的数据关注:125答案:6mip版解决时间2021-02-0109:17提问者谁把流年搁浅2021-02-0101:01比如txt里的是多条记录:格式如下张三,男,20lisi,男,20就写两条吧。怎么把这两条记录读出来(不要出现乱码问题),并放到List里去。本人对流的读写很白痴,求详细代码,感谢万分文件名就为:1.txt吧。Student类就三个属性好了,name,sex,
- Python中的split()和rsplit()的使用
y_bccl27
Pythonpython
第一种:split()表示通过指定分隔符对字符串进行切片defdemo():str="a,b,c,d,e,f,g"str=str.split(",")[len(str.split(","))-1]print(str)demo()执行上述代码,其输出结果为:g第二种:rsplit()表示从右侧开始将字符串拆分为列表defdemo():str="/home/data/text.txt"str=str.
- Docker指令
小李小李晴空万里
docker容器运维
查看容器实例dockerps执行容器的命令窗口dockerexec-it容器名称或容器ID/bin/bash如何把docker里面的文件复制出来dockercp:/path/to/file/path/on/host例如,如果你想从名为my_container的容器中复制/app/data.txt文件到主机的/tmp目录,可以使用以下命令:dockercpmy_container:/app/data
- 常规个人信息安全设置(windwos一)
windows操作系统1、修改个人电脑密码,修改为安全密码,打开安全策略。2、确定关闭远程访问功能3、打开病毒防护最近无意识的一些操作导致了电脑被病毒攻击,表现就是所有文件夹下都会自动生成一个READMIN.TXT文件,内容如下:YOURFILESAREENCRYPTEDYourfiles,documents,photos,databasesandotherimportantfilesareenc
- Python pip批量安装包的技巧
Python编程之道
ai
Pythonpip批量安装包的技巧关键词:Python、pip、批量安装包、技巧、requirements.txt摘要:在Python开发过程中,我们经常需要安装多个第三方库。手动逐个安装不仅效率低下,还容易出错。本文将深入探讨Pythonpip批量安装包的各种技巧,详细介绍核心概念、算法原理、数学模型(在批量安装场景下主要是简单逻辑)、实际案例以及相关工具和资源推荐等内容,帮助开发者提高包安装的
- 索引优化SEO帮助你的网站内容更快被搜索引擎发现
推广小赵
经验分享
想要提升网站收录效果?别再盲目修改标题和关键词了!技术SEO中的索引优化才是关键所在!下面分享几个经过实践验证的索引优化技巧,帮助你的网站内容更快被搜索引擎发现。1、仔细检查robots.txt和noindex设置很多网站的内容无法被收录,问题往往出在网站自身的限制上。务必检查robots.txt文件和各页面的metarobots标签,确保重要内容没有被错误屏蔽。2、优化网站层级结构搜索引擎爬虫更
- php使用地图插件,wordpress地图插件
weixin_39880632
php使用地图插件
一、wordpress站点地图插件哪个好方法/步骤用ftp软件或空间的在线ftp功能打开wordpress程序文件夹,找到wp-config.php文件。我们需要修改这个文件来启动wordpress的多站点功能。用php的编辑器打开它(我用的是notepad,其实txt文本也能打开,但是容易出现一些问题),按照下图提示加入代码:define('WP_ALLOW_MULTISITE',true);这
- set -euo pipefail: Bash 脚本提高健壮性和错误检测能力
riverz1227
shellbash
set-euopipefail是Bash脚本中提高健壮性和错误检测能力的一个“三件套”配置。它能帮你快速发现错误、防止脚本静默失败,尤其适用于自动化运维脚本、备份任务等场景。-e:遇到错误立即退出(exitonerror)如果脚本中的某条命令返回非0(失败),整个脚本就会立即退出。这能防止后续命令在不正确的状态下继续运行。示例:set-ecpnot_exist.txt/tmp/echo"thisw
- 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分钟才开始测试。