- 博客(55)
- 资源 (2)
- 收藏
- 关注
原创 volatile和synchronized
volatile让变量每次在使用的时候,都从主存中取。而不是从各个线程的“工作内存”。 volatile具有synchronized关键字的“可见性”,但是没有synchronized关键字的“并发正确性”,也就是说不保证线程执行的有序性。 也就是说,volatile变量对于每次使用,线程都能得到当前volatile变量的最新值。但是volatile变量并不保证并发的正确性。Volatile一般
2017-09-05 20:36:33
290
原创 HashMap浅析
HashMap和Hashtable的区别HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。1.HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value)
2017-09-05 19:33:18
389
原创 单例及double check lock
ex1:public class Singleton { private static final Singleton singleton = null; private Singleton() { } public static Singleton getInstance() {
2017-09-04 13:48:11
514
原创 RabbitMQ第三篇:java实现HelloWorld
一:”Hello RabbitMQ”下面有一幅图,其中P表示生产者,C表示消费者,红色部分为消息队列 二:项目开始2.1:首先引入rabbitMQ jar包 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <ve
2017-08-03 10:31:32
284
原创 RabbitMQ:简介及安装配置
1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ
2017-07-28 09:21:44
300
转载 RabbitMQ报错Error: unable to connect to node rabbit@xxx: nodedown的解决方式
RabbitMQ报错Error: unable to connect to node rabbit@xxx: nodedown的解决方式环境:Win10x64+erlang_otp_19.1x64+RabbitMQ3.6.6刚开始研究RabbitMQ,就遇到问题:安装好之后,按照官方安装向导执行rabbitmqctl status命令检查状态时,报如下错误:Bash
2017-07-27 19:26:19
7608
原创 web service和rpc的区别
Web 服务已经出现很久了。首先是 SOAP,但 SOAP 仅描述消息的情况,然后是 WSDL,WSDL 并不会告诉您如何使用 Java 编写 Web 服务。在这种情况下,JAX-RPC 1.0 应运而生。经过数月使用之后,编写此规范的 Java Community Process (JCP) 人员认识到需要对其进行一些调整,调整的结果就是 JAX-RPC 1.1。该规范使用大约一年之后,JCP 人
2017-03-08 10:19:23
541
转载 常量池、栈、堆的比较
JAVA中,有六个不同的地方可以存储数据: 1.寄存器:最快的存储区,位于不同于其他存储区的地方——处理器内部。寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 2. 栈:存放基本类型的变量数据和对象的引用。位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那
2017-02-14 14:36:28
284
原创 JavaScript学习手册(二)
JavaScript语法细节: 1、JavaScript区分大小写,也就是说Test和test是两个变量 2、标识符:所谓标识符就是指变量、函数、属性的名字,或者函数的参数,标识符可以是字母、下划线、$、数字,数字不能打头。按照惯例, 标识符采用驼峰命名法,首字母小写,剩下的每个单词首字母大写。需要注意的是,不能把关键字、保留字、true、false和null做标识符。 3、注释://单行注
2017-02-14 10:14:12
879
原创 BootStrapValidator初使用
bootstrap:能够增加兼容性的强大框架.因为项目需要数据验证,看bootstrapValidator 还不错,就上手一直,完美兼容,话不多说。 bootstrapValidator的github地址 需要引用css:bootstrap.min.cssbootstrapValidator.min.cssjs:jquery-1.10.2.min.jsbootstrap.min.jsbootst
2017-02-10 14:49:59
409
原创 JavaScript进阶学习(一)
学习了JavaScript基础语法,感觉掌握还不够,所以正在看:JavaScript高级程序设计。本书很基础,又有高级特性部分,深入浅出,值得一看 历史就不记了,一大堆 JavaScript事一种专为与网页交互而设计的脚本语言,由以下三个不停地部分组成: 1.ECMAScript,由ECMA-262定义,提供核心语言功能; 2.稳当对象模型(DOM),提供访问和操作网页内容的方法和接口;
2016-12-19 16:26:35
911
原创 bootstrapValidator
做输入校验的时候如果你前端框架用的是bootstrap的话,首推bootstrapValidator校验方式,具体流程如下: 一、下载,导入js文件<link type="text/css" rel="stylesheet" href="${ctx}/components/validate/css/bootstrapValidator.css" /><script type="text/java
2016-12-19 08:47:41
462
原创 JavaScript学习手册 入门
document是整个界面JS创建对象: 1、创建直接的实例 person=new Object(); person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue";或 2、替代语法(使用对象 literals): per
2016-12-17 13:50:38
362
原创 Knockout.js学习之mapping插件使用
Knockout设计成允许你使用任何JavaScript对象作为view model。必须view model的一些属性是observable的,你可以使用KO绑定他们到你的UI元素上,当这些observable值改变的时候,这些UI元素就会自动更新。绝大多数程序都需要从服务器端获取数据,但是由于服务器不知道observable的概念是什么,它只支持简单的JavaScript对象(通常是序列化以后的
2016-12-16 10:46:24
448
原创 KO学习笔记之初识Knockout.js
KO学习笔记之初识Knockout.jsKnockout.js是什么? Knockout是一款很优秀的JavaScript库 当你的UI界面稍微复杂且含有一些相同的行为的话,如果你仅仅只使用Jquery,那么UI处理上会比你想象的要复杂棘手,同时会让维护费用相当昂贵。思考这样一个例子:在一个表格里显示一个项目列表,统计表格中列表的数量,当项目列表数量小于5时启用“Add”按钮,否则就禁用。Jqu
2016-12-16 09:53:48
478
原创 class的装载
由于Java 中的一切东西都是对象,所以许多活动变得更加简单,每个对象的代码都存在于独立的文件中。除非真的需要代码,否则那个文件是不会载入的。通常,我们可认为除非那个类的一个对象构造完毕, 否则代码不会真的载入。由于static 方法存在一些细微的歧义,所以也能认为“类代码在首次使用的时候载入”。 首次使用的地方也是static 初始化发生的地方。装载的时候,所有static 对象
2016-10-21 16:30:53
474
原创 WebService入门
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通
2016-10-10 14:28:30
282
原创 AJAX
一、AJAX AJAX == Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。XMLHttpRequest 是 AJAX 的基础二、XMLHttpRequest 对象 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 Ac
2016-10-08 15:09:06
189
原创 JSP、servlet运行原理
一、jsp和servlet的区别 servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。servlet本质是一个java类。 JSP是Servlet
2016-09-11 15:41:52
1080
转载 脏读、幻读、不可重复读 and 乐观锁、悲观锁 and 事务五种隔离级别
一、脏读、不可重复读、幻读1、脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。例如: 张三的工资为5000,事务A中把他的工资改为8000,但事务A尚未提交。 与此同时, 事务B正在读取张三的工资,读取到张三的工资为8000。 随后, 事务A发生异常,而回滚了事
2016-08-30 14:18:32
375
原创 中软Java学习8月15日笔记之socket
网络通信协议: OSI ( TCP/IP协议簇 ) TCP : 传输层 IP: 网络层 http:应用层 TCP : 即Transmission Control Protocol,传输控制协议。是一种面向连接的、可靠的、基于字节流的通信协议 面向连接的: 三次握手方式建立连接 可靠的:
2016-08-21 14:21:30
743
原创 中软java学习8月12日笔记
进程: 在操作系统中允许的一个独立的程序 每一个允许的独立程序,都是一块独立的内存; 如果一个进程崩溃了,其它进程不受影响; 不同的操作系统,管理模式不一样;线程:一个进程中可以包含多个线程,每个线程都是进程资源中的不同访问路径; 在JavaEE的编程中,程序运行在Web Server中,允许多用户同时访问,都是多线程的
2016-08-20 11:49:39
516
原创 中软Java学习笔记8月11日笔记之File
java是跨平台的语言,但是在windows平台和Linux平台的路径表示完全不同-----------------------------------相对路径绝对路径------------------------------------------------所以,如果你的代码想跨平台部署,只能使用相对路径,不能使用绝对路径; 绝对路径: c:/xxxx/xxxxx
2016-08-20 11:46:29
233
原创 中软Java学习8月10日笔记
Map 接口的实现类: Properties , HashMap , Hashtable Hashmap ----- 许使用 null 值和 null 键 Hashset ------ 最多允许使用一个null Hashtable ----- 任何非 null 对象都可以用作键或值Hashmap与Hashtable对比
2016-08-20 11:15:48
368
原创 关于String的几个有意思的小问题
1) 指出下列程序运行的结果 public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex
2016-08-18 20:02:59
685
原创 中软Java学习笔记之LinkList
java.util 接口 List : 有序集合java.util 类 ArrayList : List 接口的大小可变数组的实现 ArrayList的数据结构的特点是查询检索元素的速度非常快! 当ArrayList中的数据出现插队或移出时,性能会受到很大的影响! 数据结构的特点,
2016-08-08 20:45:12
432
原创 中软第八天学习笔记之ArrayList
java.lang 接口 Iterablejava.util 接口 Collection 父接口是 Iterable 集合中的元素是否可以重复? ------ 有些可以,有些不可以 集合中的元素是否有顺序? ------有些是有序的,有些是无序的Collection 的子接口 : java.util 接口
2016-08-08 20:43:35
263
原创 中软Java学习第八天笔记之队列和栈
java.util 接口 Queue 在处理元素前用于保存元素的 collection 队列通常(但并非一定)以 FIFO(先进先出)的方式排序各个元素 E peek() 获取但不移除此队列的头;如果此队列为空,则返回 null E poll() 获取并移除此队列的头,如果此队列为空,则返回
2016-08-08 20:42:42
288
原创 中软Java学习第八天笔记之Set
java.util 接口 Collection 集合,可能有序、可能无序; 可能数据唯一,也可能数据不唯一;java.util 接口 List : 父接口是Collection 有序集合 (数据可能唯一、可能不唯一) 使用场景举例: 从数据库中提取数据,并展示ja
2016-08-08 20:41:51
512
原创 中软Java学习之Map
java.util 接口 Map 将键映射到值的对象 一个映射不能包含重复的键 --- 每个key值是唯一的 每个键最多只能映射到一个值 --- key和value是一一对应的关系 某些映射实现对可能包含的键和值有所限制。例如,某些实现禁止 null 键和值 V ge
2016-08-08 20:40:37
314
原创 中软Java学习第八天笔记之复习内部类
匿名类: 通过反编译,可以看到,匿名类会有一个系统默认分配的Class名字,所以匿名类是有构造函数的 test.testTree(new ITree(){ @Override public void climTree(Tree tree) {
2016-08-08 20:39:45
562
原创 中软Java学习第七天笔记
//类是单继承模式,而接口允许多继承public interface ITest extends ITree,ISwim{}如果一个类实现了某一个接口,则该类必须重写接口中的所有方法; (不对,因为抽象类可以不重写接口中的方法 )//接口中的方法都是public abstract的,在实现类中不能缩小接口中方法的可见性public interface IS
2016-08-08 08:26:23
396
4
转载 java.util.Date和java.sql.Date的区别和相互转化
java.util.Date是在除了SQL语句的情况下面使用的。java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,自然就可以直接构建。 java.util.Date 是 java.sql.Date 的父类,前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他,后者之后在读写数据库的时候用他,因为PreparedSt
2016-08-07 23:01:40
256
3
原创 中软Java学习第六天笔记
堆和栈的总结: 基本类型-----1、内存空间大小固定 2. 生命期固定 (局部变量,超过变量作用域就回收) 引用类型-----2. 内存空间的大小不固定 3. 生命期不固定(引用计数)int[] ages = new int[5]; -----内存分配在堆内 //只
2016-08-07 23:00:47
515
4
原创 设计模式六大原则
设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修
2016-08-04 08:59:37
304
原创 中软Java学习第五天笔记
面向对象编程(oop)的重要原则: SRP : simple responsibility principle (简单责任)-------------------不建议把一个Class写的过大 如User类中可以有 public void addUser(User u); public void up
2016-08-04 08:34:09
858
原创 中软Java学习笔记第四天
在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用2、private:private表示私有,私有的意思就是除了class自己之外,任何人都
2016-07-29 13:37:01
2106
原创 中软Java学习笔记第三天
static变量通常被称为---类变量 所有对象共享的一块内存 与对象无关,可以通过类名直接调用静态变量成员变量通常被称为-----对象变量 只有创建了对象,成员变量才能被分配内存空间; 通过对象的引用,调用成员变量或给成员变量赋值;同一个类中的方法,同名不同参,就被称为overload(重载) OO的三大特征:继承、封装
2016-07-28 20:32:53
4243
原创 中软Java学习笔记第二天
//默认值的设置标准:一定是绝大多数的对象,都具有的属性值,才能设置为默认值 public String color = "黄色"; //颜色 public double age = 4 ; //年龄 public String name = "大黄";
2016-07-27 20:05:53
561
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人