- 详解mybatis的一二级缓存以及缓存失效原因
仰望天花板
缓存数据库mybatisjavamysql
数据库的大部分场景下是从磁盘读取,如果数据从内存进行读取,速度较比磁盘要快得多。但因为内存的容量有限,所以一般只会把使用和查询较多的数据缓存起来,以便快速反应,其他使用率不太多的继续存放在磁盘。mybatis分为一级缓存和二级缓存1.一级缓存一级缓存存放在SqlSqeeion上,默认开启1.1pojo@DatapublicclassRole{privateLongid;privateStringr
- MyBatis系统学习(一)——项目结构及其含义
OEC小胖胖
MyBatismybatis学习web后端
1.MyBatis简介MyBatis是一款优秀的持久层框架,它通过SQL映射的方式实现Java对数据库操作的映射,既保留了SQL语句的灵活性,也简化了代码的编写。在一个MyBatis项目中,核心部分主要有:配置文件(mybatis-config.xml)映射文件(Mapper.xml)实体类(Entity/POJO)接口类(Mapper接口)MyBatis会话工厂(SqlSessionFactor
- SpringBoot项目
俺叫啥好嘞
spring系列springspringboot
SpringBoot项目大概分为四层:(1)DAO层:包括XxxMapper.java(数据库访问接口类),XxxMapper.xml(数据库链接实现);(这个命名,有人喜欢用Dao命名,有人喜欢用Mapper,看个人习惯了吧)(2)Bean层:也叫model层,模型层,entity层,实体层,就是数据库表的映射实体类,存放POJO对象;(3)Service层:也叫服务层,业务层,包括XxxSer
- java开发中pojo、model和entity的区别及DTO与VO
leighy
javaspringbootmvc
一、pojo(PlainOrdinaryJavaObject无规则简单Java对象)简单java对象简单的javabean的对象,对应数据库某一张表,表的字段与pojo类的属性都要一一对应?(查阅发现没有具体对pojo描述,有的说是作为业务协作类不需要一一对应)但在实际开发中较少以pojo来对包命名。二、entity(实体类)数据表对应到实体类的映射则类属性与数据库表字段一一对应在实际开发中较多以
- SpringData JPA之Respository接口的使用
OVA_Won
SpringDatamysqljavaspring
SpringDataJPA之Respository接口的使用Respository:最顶层的接口也是标志接口,目的是为了统一所有Repository的类型,且能让组件扫描的时候自动识别。准备工作导入JAR包:别忘了导入Junit测试包,否则后面没法单元测试编写Spring和数据库配置文件applicationContext.xml文件com.OVA.pojojdbc.propertiesjdbc.
- 【Mybatis】Web中的数据库操作
科马
java数据库mybatisservletsql
Mybatis工作机制1.加载配置文件:2.创建SqlSessionFactory:3.获取SqlSession:4.获取Mapper接口:5.执行SQL语句:6.SQL语句解析和执行:7.结果映射:8.事务管理:9.关闭SqlSession:10.返回结果:与JDBC对比三个显著特点代码示例1.配置MyBatis2.创建数据库表3.创建POJO类4.编写Mapper接口5.编写SQL映射文件6.
- spring揭秘-概念以BeanFactory介绍
liangxifeng833
本质:Spring框架为POJO提供的各种服务共同组成了Spring的生命之树Paste_Image.pngspring框架为基础,有很多家庭成员,比如(SpringWebFlow,SpringWebServices,SpringSecurity,SpringBatch等等),这些家族成员全部以ApacheLisenceVersion2.0协议发布,共同组成了SpringProjects组合,因为
- SpringBoot项目中使用SpringData-JPA持久化数据
火星刻苦的杏仁
springbootjavamybatis
目录一、什么是JPA二、SpringData-JPA与MybatisPuls的区别三、项目中使用JPAJPA常用注解JPA进阶使用技巧一、什么是JPAJPA是JavaPersistenceAPI的简称,中文名Java持久层API,其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术。简单地说,JPA就是为POJO(PlainOrdinaryJavaObject)提供持久化的标准规范,即将J
- Spring AI
java_heartLake
人工智能人工智能springjava
本文介绍Spring的一级项目SpringAI简介:SpringAI是一个用于AI工程的应用程序框架。其目标是将Spring生态系统的设计原则(如可移植性和模块化设计)应用于AI领域,并推动将POJO(PlainOldJavaObjects,简单老式Java对象)作为应用程序的构建块引入到AI领域。主要特性:支持跨AI提供商的便携式API,用于聊天、文本到图像和嵌入模型。同时支持同步和流API选项
- MyBatis注解开发详解
hoypte
mybatis
MyBatis注解开发详解一、前言MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通的Java对象)为数据库中的记录。在MyBatis中,注解提供了一种更加简洁和直观的
- @Import注解作用
y我见青山多妩媚
java开发语言
@Import注解作用理解springboot自动装配时,发现@SpringBootApplication注解下的@EnableAutoConfiguration注解头上有一个@Import注解。关于这个注解的作用,上网查找后发现理解的不是很明白,于是写了下面的Demo去理解。两个pojo类:publicclassPerson{}publicclassStudent{}测试类@Configurat
- 【spring boot结合rabbit mq 到点执行,可精确到秒】
ljh_learn_from_base
javaspringbootspringbootjava后端java-rabbitmq
【springboot结合rabbitmq到点执行,可精确到秒】创建队列枚举创建自定义的队列消息pojo创建队列和延迟队列发送mq消息接收mq消息DateTimeUtil测试注意点创建队列枚举publicenumQueueEnum{/***各种异步消息频道*/TEST(1,"test","队列频道"),DELAY_TEST(2,"delay_test","延迟延迟频道"),;privateInte
- 阿里java开发手册泰山版_总结
林坰
Javajava数据库mysql
编程规约常量定义不允许任何预先未定义的常量出现在代码中。不要使用一个常量类维护所有的常量,要按常量功能进行归类,分开维护。OOP规约所有的POJO类属性必须使用包装数据类型。RPC方法的返回值和参数必须使用包装数据类型。POJO类是最简单最普通的JAVA对象,内在含义是有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口。【没有从任何类继承、也没有实现任何接
- SpringBoot之基本概念
Daylight629
SpringBootjavaspringspringbootmaventomcat
SpringBoot概念一、什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。可以看我之前的文章关于spring的介绍与使用二、Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性
- 使用IDEA构建微服务Maven聚合工程保姆级教程
程序喵锅
经验分享intellij-idea微服务maven经验分享学习
本次喵子给大家分享一个通用的聚合工程搭建教程,细致入微、充满人文关怀的保姆级教程,基本上搭建一次后续即可作为通用模版,应用到其它项目里。一、简单了解微服务二、Maven构建聚合工程1.环境说明2.开始构建2.1.创建空的父工程2.2.创建common子工程2.3.创建pojo子工程2.4.创建mapper子工程2.5.创建service子工程2.6.创建apis子工程2.7.工程安装三、总结一、简
- java中实体pojo对于布尔类型属性命名尽量别以is开头,否则 fastjson可能会导致属性读取不到
阿文弟
java开发语言
假如我们有一个场景,就是需要将一个对象以字符串的形式,也就是jsonString存到一个地方,比如mysql,或者redis的String结构。现在有一个实体,我们自己创建的,叫做CusPojo.java有两个属性是布尔类型的,一个属性是有is开头,一个是没有is开头的,我们就可以做个对比。现在我导入fastjson依赖,创建一个CusPojo对象,然后序列化为jsonString,我们打印结果如
- springboot整合RabbitMQ
水宝的滚动歌词
RabbitMQspringbootspringbootrabbitmq
1.Spring-AMQP概念什么是Spring-AMQPSpring框架的AMQP消息解决方案,提供模板化的发送和接收消息的抽象层,提供基于消息驱动的POJO的消息监听等提供不依赖于任何特定的AMQP代理实现或客户端库通用的抽象,最终用户代码将很容易实现更易替换、添加和删除AMQP,因为它可以只针对抽象层来开发总之就是提高我们的框架整合消息队列的效率,springboot为更方便开发Rabbit
- Spring Boot 笔记 016 创建接口_删除文章分类
机器人迈克猫
SpringBootspringboot笔记后端
1.1.1Controllerpackagecom.geji.controller;importcom.geji.pojo.Category;importcom.geji.pojo.Result;importcom.geji.service.CategoryService;importorg.springframework.beans.factory.annotation.Autowired;im
- SpringMVC 的参数绑定之list集合、Map
lvpflv
SpringMVClistmvcspring
标签中name属性的值就是pojo类的属性名参数绑定4list[对象]教师编号:教师姓名:map教师编号:教师姓名:
- VO、DTO、DO、BO、PO
知行合一。。。
项目--架构mybatis
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录VO、DTO、DO、BO1.概念阿里Java开发手册分层领域模型:2.VO和DTO使用场景以下是一个使用VO和DTO的典型案例:3.BO和DTO的区别案例VO、DTO、DO、BOPOJO的定义是无规则简单的对象,在日常的代码分层中pojo会被分为VO、BO、PO、DTO。通过各层POJO的使用,有助于提高代码的可读性和可维护性
- 【千锋逆战】MyBatis的xml+接口方式实现crud功能
落羽离殇
Mybatis的xml+接口方式实现crud功能User.javapackagecom.qfedu.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;@Data@NoArgsConstructor@AllArgsConstructorpublicclassUser{privat
- SSM详细速成
一叉树
mybatisjavamysqlspringmvc
ssm速成此文对狂神说ssm整合进行解读mybatis学习+测试pojo.Books@AllArgsConstructor@NoArgsConstructor@DatapublicclassBooks{privateintbookId;privateStringbookName;privateintbookCounts;privateStringdetail;}mybatis.xml核心文件设置连
- Mybatis(千峰学习笔记)
2301_78533951
mybatis
什么是MyBatis1.MyBatis是一款优秀的持久层框架,它支持定制化SQL,存储过程及高级映射。2.MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作。3.Mybatis通过XML或注解的方式配置和映射原生信息。Mybatis特点:1.MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJO映射成数据库中的记录。2.MyBatis提供
- Maven高级
今天你改bug了吗?
JavaWebmavenjava数据库
一、分模块设计与开发File——new——newmoduletlias-pojo——pom.xml增加缺少的依赖二、继承与聚合2.1继承2.1.1继承关系2.1.2版本锁定2.2聚合三、私服3.1介绍3.2资源上传与下载
- Myvatis关联关系映射与表对象之间的关系
MyBatis是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解进行配置,并未原生SQL提供了很好的支持。在MyBatis中,关联关系映射和表对象之间的关系是通过XML映射文件或注解来实现的。表对象,通常是Java的POJO类,对应数据库中的一张表。而关联关系映射,则
- Mybatis的三种映射关系以及联表查询
MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。在MyBatis中,主要有三种映射关系:一对一映射:这是最简单的关系映射。
- Spring Boot 笔记 013 创建接口_查询文章分类列表
机器人迈克猫
SpringBoot笔记
1.1.1Controllerpackagecom.geji.controller;importcom.geji.pojo.Category;importcom.geji.pojo.Result;importcom.geji.service.CategoryService;importorg.springframework.beans.factory.annotation.Autowired;im
- PO、POJO、BO、AO、VO、DTO、DO、DAO
HachiLin
1.POpersistantobject:持久层对象有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。在hibernate持久化框架中与insert/delet操作密切相关。PO中不应该包含任何对数据库的操作。2.POJOplainordinaryjavaobject:无规则简单java对象传统意义的java对象。可以转化为PO、DTO、VO,比如P
- Spring Boot 笔记 015 创建接口_更新文章分类
机器人迈克猫
SpringBootspringboot笔记java
1.1.1实体类id增加NotNull注释,并做分组校验1.1.1.1定义分组1.1.1.2实体类中指定校验项属于哪个分组如果说某个校验项没有指定分组,默认属于Default分组分组之间可以继承,AextendsB那么A中拥有B中所有的校验项packagecom.geji.pojo;importcom.fasterxml.jackson.annotation.JsonFormat;importja
- java高级编程教程课后题答案,相关资料参考
Java阿里面试题
程序员java后端面试
谈起MyBatis,我先提个问:什么是MyBatis?MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录…而今天咱要聊的就是Aliba
- 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分钟才开始测试。