
Java
CHEN俊铭
交流。
展开
-
String和StringBuilder和StringBuffer三兄弟
前言分析内部实现运行速度StringBuilderStringBufferString线程安全后言总结前言好久之前在写文件上传的时候使用了这样的一段代码/*** @param rootUrlStr:保存的路径的文件夹路径 假设就是 D:\save* @param fileUriStr:需要保存的文件的具体路径* @about 这是一段精简的代码* @return 存储文件地址*原创 2016-04-15 19:25:32 · 755 阅读 · 0 评论 -
Tomcat 优化浅谈
[TOC] Tomcat服务器是一个免费开源的Web应用服务器,是Apache软件基金会的Jakarta项目中的核心项目(被Apache看上的项目一般都是棒棒的)。他完全基于Java平台,是使用广泛的Servlet容器。现在已经发展到Tomcat8.0了。下面将从五个方面对tomcat进行优化。 1. 启动模式 2. 执行器 3. 连接器参数 4. 禁用AJP连接器 5. JVM参数优化原创 2016-10-13 22:31:20 · 649 阅读 · 0 评论 -
树的简谈
树的简谈闲谈讲真,树,很简单,如果你懂。 对着门口的树,我想了很多的事情,大概就是现实的树和结构的树之间的交融。 我总觉得,很多东西都是来自于自然,如果能格物致知,向自然学习,很多道理其实是连在一起的。树树的类型是很多的,红黑树、AVL树、线段树、2-3树。他们的公共特点就是都是树。(手动微笑)AVLAVL就是平衡二叉树,平衡因子只能是1、0、-1。不然就要进行平衡。 平衡就是左旋右旋的,左旋原创 2017-01-22 21:07:49 · 384 阅读 · 0 评论 -
AOP概念
AOP概念AOP概念简介核心概念AOP由IOC支持总结简介AOP,(Aspect Oriented Programming),面向切面编程,他是OOP(Object Oriented Programming),面向对象编程的补充和完善。 OOP引入了封装、继承、多态等该概念来建立一种对象层次结构,用于模拟一种公共行为的集合,这是一种纵向的关系。 日志功能、异常处理、认证等这样的功能属于原创 2017-01-17 21:32:29 · 702 阅读 · 0 评论 -
关于泛型擦除
关于泛型擦除泛型是JDK1.5的一项新特性,他的本质就是参数化类型的应用。 Java语言中的泛型只是在程序源码中存在,在变异后的字节码文件中,已经被替换成原来的原生类型,并且在相应的地方插入强转型代码。 因此,ArrayList<String>和ArrayList<int>就是同一个类,所以说泛型技术就是Java语言的一颗语法糖。 Java的泛型是假的泛型,只是在编译器中做了语法检查,和C#的原创 2017-01-17 20:21:50 · 374 阅读 · 0 评论 -
HashMap vs ConcurrentHashMap — 示例及Iterator探秘
如果你是一名Java开发人员,我能够确定你肯定知道ConcurrentModificationException,它是在使用迭代器遍历集合对象时修改集合对象造成的(并发修改)异常。实际上,Java的集合框架是迭代器设计模式的一个很好的实现。Java 1.5引入了java.util.concurrent包,其中Collection类的实现允许在运行过程中修改集合对象。ConcurrentHashMap转载 2017-01-12 13:35:37 · 445 阅读 · 0 评论 -
Java中的Copy-On-Write 容器
Java中的Copy-On-Write 容器Java中的Copy-On-Write 容器CopyOnWrite容器CopyOnWrite的缺点CopyOnWriteArrayListDemo范例CopyOnWrite容器CopyOnWrite 容器即写时复制容器,原理就是当我们往一个容器添加元素时,不直接往当前容器添加,而是先将当前容器进行Copy,复制出新的容器,然后往新的容器进行添加元素,原创 2017-01-12 13:09:26 · 1301 阅读 · 0 评论 -
写给后端开发看的安卓入门
写给后端开发看的安卓入门写给后端开发看的安卓入门可以看也可以不看的序安卓的一些入门知识ADTSDKAPIIntentAndroid的开发IDEEclipseIDEAAndroid Studio开发一个APP的过程初始化文件分布发短信的功能权限界面Activity选择文件跳转第一个页面第二个页面可以看也可以不看的序作为一名计算机专业的学生,总有人会问我,会不会原创 2017-01-11 20:12:04 · 14010 阅读 · 0 评论 -
WebSocket
WebSocket一般的Web应用都是客户端通过浏览器发送一个请求,然后服务端对该请求进行处理,并将结果返回给客户端,然后客户端浏览器把信息呈现,在客户端进行新的操作之前将不会有任何新的响应出现。再过一段时间,人们有了服务端要能让浏览器发生变化的需求,比如说看足球文字实时转播的时代,那时候,通过轮询、长轮询、流、基于Flush的实时通讯方式,进行页面信息定时的更新。现在,我们需要有更加高效节能的双向原创 2017-01-09 21:36:19 · 399 阅读 · 0 评论 -
探讨Class.forName与ClassLoader.loadClass与new Object
探讨Class.forName与ClassLoader.loadClass与new Object探讨ClassforName与ClassLoaderloadClass与new Object实例展示TestObject对象TestDriver测试测试结果理论谈论扩展ClassforName与new Object实例展示TestObject对象public class TestObjec原创 2016-12-31 15:20:44 · 1832 阅读 · 1 评论 -
完美卸载JDK
点击卸载JDK。运行regedit(注册表),依次打开HKEY_LOCAL_MACHINE”->“SOFTWARE“-> “JavaSoft”,删除JavaSoft,如果由JRE的也一并删除。重新安装。转载 2016-11-15 09:57:20 · 592 阅读 · 0 评论 -
ThreadLocal 线程局部变量
ThreadLocal线程局部变量与之前写的Unsafe一样,都是为了解决并发访问变量的问题。与synchronized等加锁不同的,ThreadLocal完全不提供锁,而是利用空间换时间,为每个线程都提供了变量的独立副本,保障线程安全。package com.chen.thread;import java.text.SimpleDateFormat;import java.util.Random原创 2016-09-28 20:04:11 · 505 阅读 · 0 评论 -
从并发模型Master-Worker说起
从并发模型Master-Worker说起Java多线程编程中,常用的有Future模式、Master-Worker模式、不变模式、生产者消费者模式、Guarded Suspeionsion模式。简单来说Master-Worker模式就是Master负责接收和分配任务,Worker负责处理子任务。当各个Work进程处理完任务之后,将结果返回给Master进程,Master进程负责汇总,获得最终的结果。原创 2016-09-28 16:36:42 · 1340 阅读 · 0 评论 -
这很Unsafe-非锁算法
上一篇从并发模型Master-Worker说起提到了CAS和Unsafe。 这一篇是一次实践,通过模仿(盗版)AtomicInteger来形成线程安全类编写的思想。当然,这只是一次教学,真正项目中,慎用。 先给出编写好的MyAtomicInteger源码,这个就是盗版AtomicInteger的。只有些许变化。package com.chen.cas;import sun.misc.Unsafe原创 2016-09-28 18:22:29 · 510 阅读 · 0 评论 -
Vert.x - Java 的新领土
Vert.x - Java 的新领土 在用Node.js写前后端,写了N天之后,有点感叹。前后台的交互方式那么多,Java又能分到多少的领土.虽然说,Java今年是第一,去年是第二,近几年也许很难掉出前五。但是,总觉得Java就像一个又大又空洞老旧城市,路过时,总会想有一天他跟不上时代的效率,会被夷为平地。 这几天,Node写起来真的非常的舒服。我可以尽可能的缩小服务器的消耗(类操作系原创 2016-09-15 11:16:19 · 505 阅读 · 0 评论 -
Gson
GsonGson前言介绍使用使用-对象使用-数组使用-Map使用注解定义使用资料参考前言之前进行网络后台开发的时候,使用Json的方式是使用JsonArray或者JsonObject进行封装的,但是最近和移动组后台合并开发,发现他们用的是Gson赶忙学习了一下Gson-Json的一个库。介绍从Gson在线文档中可以看出,Gson基本上只有六个功能,其中最重要的是这两个。 返回翻译 2016-06-16 16:13:05 · 564 阅读 · 0 评论 -
JSON
JSONJSONJSON介绍JSON的表现形式JSON格式例子JSON介绍JSON的全称是“JavaScript Object Notation”意思就是JavaScript对象表示法,他是一种基于文本,独立于语言的轻量级数据交换格式。xml也是一种数据交换格式,为什么没有选择XML呢,因为XML虽然可以作为跨平台的数据交换格式,但是在JavaScript中处理起来特别不方便,而且标志比数据多原创 2016-06-15 00:29:35 · 473 阅读 · 0 评论 -
synchronized
synchronizedsynchronized用法修饰对象实例分析总结链接用法1. synchronized方法和synchronized块修饰对象1. 代码块2. 方法,作用对象是调用该方法的类3. 静态方法,作用对象是该方法类的所有对象4. 类,作用对象是该类的所有对象实例分析1. 实例一package com.chen.test;/** * @time 2016年6原创 2016-06-04 17:30:18 · 332 阅读 · 0 评论