- 【爆款长文】RAG检索增强大模型的“记忆力”革命:Contextual Chunk Headers(CCH)实战全解析
许泽宇的技术分享
人工智能机器学习
大家好,我是你们的AI技术侃侃而谈小能手。今天我们来聊聊RAG(Retrieval-AugmentedGeneration)这个AI圈的“记忆力补脑丸”,以及它最近新晋的“脑白金”——ContextualChunkHeaders(CCH)。别眨眼,这可是让大模型“查资料”能力质变的秘密武器!一、RAG:让大模型不再“张口就胡说”先来个小科普。RAG是什么?简单说,就是给大模型加个“外挂”,让它在回
- JAVA springboot Access-Control-Allow-Origin
墨着染霜华
javaspringbootspring
response.setHeader("Access-Control-Allow-Origin","https:/your-domain.com");意思是:只有来自https:/your-domain.com的前端页面(即请求的来源Origin是这个域名),才能通过浏览器发起跨域请求访问这个接口区分大小写&完全匹配这个设置是完全匹配的,也就是说:https://epos.whbswdt.com
- 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。
小型骷髅
链表数据结构java
力扣原题:旋转链表先贴代码:publicclassSolution61{publicListNoderotateRight(ListNodehead,intk){//当链表为空或者链表只有一个元素或者移动0步的时候的情况if(head==null||head.next==null||k==0){returnhead;}//创建一个虚拟头节点,指向headListNodenewhead=newLis
- Golang学习日志 ━━ 单向链表
暂时先用这个名字
Golanggogolang
因为转载必须指明原文网址,而本文内容整合了网上多篇技术文章,无法明确其中一条,所以选择了原创。已在最后的参考目录里列出本文所有涉及的文章。定义单向链表(单链表)是链表的一种,是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是由结点构成,head指针指向第一个成为表头结点,而终止于最后一个指向nuLL
- 26、A* Algorithm: An In-depth Guide to Optimal Pathfinding
tree
C#搜索设计模式精解A*AlgorithmPathfindingHeuristicFunction
A*Algorithm:AnIn-depthGuidetoOptimalPathfinding1.IntroductiontoA*AlgorithmA(pronounced“Astar”)isapowerfulalgorithmwidelyusedforpathfindingandgraphtraversal.Itcombinestheadvantagesofbothuniform-costsea
- 4.链表入门
ArtoriasSZ
算法链表数据结构go后端算法
单双链表及其反转-堆栈诠释值引用:函数调用得到原值的拷贝,函数实际使用的变量与原变量解耦。引用传递:函数调用拷贝原指针得到一个新指针,该指针和原指针指向同一个内存区域。反转单链表题干:给你单链表的头节点head,请你反转链表,并返回反转后的链表。使用双指针法,使用head进行遍历,pre指向head前一个节点,next指向head后一个节点。在每轮,首先得到head的下一个节点(为了在断掉这个节点
- Linux命令行操作基础
EnigmaCoder
Linuxlinux运维服务器
目录前言目录结构✍️语法格式操作技巧Tab补全光标操作基础命令登录和电源管理命令⚙️login⚙️last⚙️exit⚙️shutdown⚙️halt⚙️reboot文件命令⚙️浏览目录类命令pwdcdls⚙️浏览文件类命令catmorelessheadtail⚙️目录操作类命令mkdirrmdir⚙️文件操作类命令mvrmtouchfindgziptar⚙️cp前言大家好!我是EnigmaCod
- RPC与HTTP API对比
漫谈网络
NetDevOps智联空间rpchttp网络协议
一、核心流程对比环节RPCHTTPAPI调用方式调用远程函数/方法(如userService.getUser(123))调用远程端点(如GET/users/123)参数传递通过序列化直接传递编程语言对象通过URL参数、Header或Body传递结构化数据网络传输通常基于TCP/UDP+二进制协议(如gRPC的HTTP/2)基于HTTP/HTTPS文本协议数据封装由框架自动处理序列化/反序列化需手动
- 在vue3项目中使用el-upload实现文件上传
柒@宝儿姐
javascript前端vue.jsvscode
在vue3项目中使用el-upload实现文件上传template将文件拖到此处,或点击上传是否更新已经存在的用户数据仅允许导入xls、xlsx格式文件。下载模板确定取消相关属性说明limit:允许上传文件的最大数量accept:接受上传的文件类型headers:设置上传的请求头部action:请求URLdisabled:是否禁用上传on-progress:文件上传时的钩子on-success:文
- 安装HomeBrew
明天不下雨(牛客同名)
个人笔记学习
在新Mac上安装Homebrew非常简单。请按照以下步骤操作:打开“终端”应用(可以在“应用程序”>“实用工具”中找到,或者按Command+空格,输入“终端”并回车)。在终端中输入以下命令,然后按回车(建议直接复制粘贴):/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.s
- 基于Transformer实现机器翻译
yyyyurina.
transformer机器翻译深度学习
目录一、前言1.1什么是Transformer?1.2Transfomer的基本结构1.2Transformer的重要组成部分1.2.1位置编码(PositionalEncode)1.2.2自注意力机制(Self-Attention)1.2.3多头注意力(Multi-HeadAttention)1.2.4位置感知前馈层(Position-wiseFFN)1.2.5残差连接与层归一化二、AutoDL
- Android 10.0 java.lang.IllegalStateException The content of the adapter has
安卓兼职framework应用工程师
android10.0Rom开发疑难问题分析androidjavaListViewadapterrom
1.前言在10.0的系统rom定制化开发中,在某些时候,关于在Listview刷新数据的时候,出现ThecontentoftheadapterhaschangedbutListViewdidnotreceiveanotification.Makesurethecontentofyouradapterisnotmodifiedfromabackgroundthread,butonlyfromtheU
- 对 Boston Housing Dataset(波士顿房价数据集)数据分析
程序小K
数据分析数据分析数据挖掘
1.数据加载与初步检查importpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#加载数据boston_df=pd.read_csv("boston_housing_data.csv")#查看前5行display(boston_df.head())#检查数据基本信息(列名、数据类型、非空值数量)print(boston_df.inf
- 生成1个token,需要多少KV Cache开销?
JasonLiu1919
人工智能kv-cacheLLM推理加速
引言本文将对比使用MHA(Multi-HeadAttention)、MQA(Multi-QueryAttention)、GQA(Grouped-QueryAttention)和MLA(Multi-HeadLatentAttention)这4种注意力机制时,在decoder阶段使用KVcache生成单个token所需的额外缓存空间。假设在具有L层、nhn_hnh个注意头和key维度dhd_hdh(即
- 为什么Cloudflare免费版更适合个人用户?
群联云防护小杜
安全问题汇总网络服务器自动化运维人工智能
#实战:Cloudflare免费版WAF规则绕过演示importrequeststarget_url="https://example.com/login"#替换为CF防护的站点headers={"User-Agent":"Mozilla/5.0(compatible;EvilBot/1.0)","X-Forwarded-For":"1.1.1.1,2.2.2.2,3.3.3.3"#伪造IP链}#
- 企业级高防CDN选型指南
群联云防护小杜
安全问题汇总人工智能ddos运维服务器自动化
#!/bin/bash#高防CDN性能压测工具#使用方法:./stress_test.shDOMAIN=$1TEST_IP=$(dig+short$DOMAIN|head-n1)#获取CDN节点IPecho"[压力测试]目标:$DOMAIN($TEST_IP)"echo"----------------------------------"#TCP连接压测hping3-S-p443--flood$
- spring-webmvc @RequestHeader 典型用法
张紫娃
注解springpythonjava
典型用法基础用法:获取指定请求头值@GetMapping("/info")publicStringgetInfo(@RequestHeader("User-Agent")StringuserAgent){return"User-Agent:"+userAgent;}如果请求中包含User-Agent请求头,则其值将被注入到userAgent参数。若未找到该Header,默认会抛出异常(除非设置re
- 在 VSCode 中打开 Overleaf 项目
Hash the Hacker
vscode
1.获取Overleafsession(1)登陆Overleaf主页,overleaf.com/project(2)F12打开developer模式,选择“Network”(3)在列表中选择“Project”(4)(5)在“Header”里找到“RequestHeaders”(6)(7)把Cookie中的“overleaf_session2”字段整个复制出来,即:从“overleaf_sessio
- Java数据结构——线性表Ⅲ
爱吃代码的小皇冠
算法数据结构java学习笔记链表
一、双链表(DoubleLinkedList)1.结点与链表类定义(设计思路)(1)DLinkNode结点类设计双向指针:prior指针指向前驱,支持反向遍历next指针指向后继,支持正向遍历应用场景:需要频繁前后移动的场景(如文本编辑器的光标移动)(2)DLinkListClass链表类设计头结点dhead:prior初始为null(链表头部标识)next初始为null(链表尾部标识)双向操作基
- Python训练打卡Day15
编程有点难
Python学习笔记python开发语言
复习日回顾一下之前14天的内容:importpandasaspdimportseabornassnsimportmatplotlib.pyplotaspltdata=pd.read_csv('ObesityDataSet.csv')data.head()#分离连续变量与离散变量discrete_features=['Gender','family_history_with_overweight',
- 美团小程序闪购 mtgsig1.2
wx a15018601872
小程序美团美团团购美团闪购mtgsigmtgsig1.2美团小程序
声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!部分python代码result=cp.call('getMtgsig',data1,appId,openId)mtgsig=result['header']['mtgsig']#请求头headers={"mtgsig":mtgsi
- 【Git】git restore 命令使用介绍
晴雨日记
Gitgit
gitrestore是Git在2.23版本引入的一个专门用于恢复工作树(工作目录)和暂存区(索引)文件状态的命令。它旨在取代之前用gitcheckout--和gitresetHEAD来完成的部分功能,使操作意图更清晰。核心功能:撤销更改gitrestore主要根据你提供的选项,将文件从以下两个来源恢复到指定状态:暂存区(--staged选项):将文件恢复到上次gitadd后的状态(即HEAD提交或
- 浏览器开发者工具Network面板中复制请求的相关信息(结合PostMan)
s甜甜的学习之旅
开发工具postman测试工具
复制请求相关信息在谷歌浏览器(GoogleChrome)开发者工具的Network面板中,当你右击一条请求并选择"Copy"时,会出现多个选项,这些选项允许你以不同的方式复制请求的相关信息。以下是常见的"Copy"选项及其解释:CopyRequestHeaders:复制HTTP请求头到系统剪贴板。这包括了所有发送给服务器的头部信息,如User-Agent、Accept等。CopyResponseH
- Centos7.9安装Openssl 3.5
石小千
Linux运维linux
下载github下载地址https://github.com/openssl/openssl/releases/download/openssl-3.5.0/openssl-3.5.0.tar.gz国内镜像站下载地址https://raw.gitcode.com/gh_mirrors/ope/openssl/archive/refs/heads/openssl-3.5.0.zip准备yuminst
- 合并table
上优
vue.js前端javascript
玻璃样品检测数据表.el-table.warning-row{background:#fdf6ec;}.el-table.success-row{background:#f0f9eb;}.el-table__headerth{background-color:#f5f7fa!important;color:#606266;font-weight:bold;}.position-cell{font-
- Django5.1(55)—— 条件视图处理
小天的铁蛋儿
djangoPythondjangopython后端
条件视图处理HTTP客户端可以发送一些头部信息,用来告诉服务器它们已经看过的资源的副本情况。这通常在检索网页(使用HTTP的GET请求)时使用,以避免发送客户端已经检索过的内容数据。然而,这些相同的头部信息可以用于所有HTTP方法(POST,PUT,DELETE等)。针对每个从Django视图返回的页面(响应),它可能提供了两种HTTPheaders:ETagheader和Last-Modifie
- 华为云对象存储OBS 支持安卓/iOS/鸿蒙UTS组件
敲代码的鱼哇
框架整理华为云androidios对象存储harmonyNEXT
华为云对象存储OBS支持安卓/iOS/鸿蒙UTS组件介绍使用前须知vue代码调用示例权限说明API调用说明初始化配置(openClient)创建桶(createBucket)列举桶(listBuckets)删除桶(deleteBucket)桶是否存在(headBucket)列举桶内对象(listObjects)删除桶内对象(deleteObject)文件上传-可获取上传进度(uploadFile)
- vue2+el-table动态表头,获取对应数据,可直接复制
@never°
vue.jsjavascriptelementui前端前端框架
基于element+vue2实现table表格内容和表头动态化,达到数据动态数据加载需求。小白可直接复制使用,点个赞+关~话不多说,上代码~exportdefault{data(){return{tableHeaders:[{label:'日期',prop:'date'},{label:'姓名',prop:'name'},{label:'地址',prop:'address'}],tableData
- vue2打印el-table表格宽度无法撑满自适应,复制即用
是小张呀!
vue.jselementuijavascript
这里为了隐私把图片内容涂马赛克了没修改前:修改后:重要代码,复制即用:@mediaprint{.el-table__header{width:100%!important;border-right:
- C# SECS/GEM 底层协议与实现方式
一贝水双鱼
c#服务器开发语言
SECS/GEMHSMS原理与实现方法SECS是什么?SECS关键字SECS的流和功能S1F1,S1F2举例SECS协议与报文Tcp连接是状态转换报文格式报文头详解(MessageHeader)连接状态报文通信信息报文(MessageText)测试一下C#实现SECS是什么?SEMI电子半导体联盟,为实现设备与工厂系统的快速对接数据,状态,配方,程序的标准化协议,SECS具有多个版本,本文主要介绍
- 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分钟才开始测试。