java
文章平均质量分 77
897080264
这个作者很懒,什么都没留下…
展开
-
以秒为单位生成唯一的时间序列号
import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ConcurrentMap;import java.util...2018-09-01 23:10:40 · 848 阅读 · 0 评论 -
Java程序优化
背景: 本人最近在做一个信令相关(电信行业的手机以及固话的通话记录)的项目,数据量非常大,之前也没碰到过这么大数据量,所以写程序的时候,没有意识到程序优化相关的知识,于是就出现了下面的程序。 程序一: /** * @description: 将字符串解析为List<SignalData>对象 */ pub...2016-03-09 19:27:49 · 65 阅读 · 0 评论 -
jstat 命令 详解
jstat -gccause pid 1 每格1毫秒输出结果jstat -gccause pid 2000 每格2秒输出结果不断的在屏幕打印出结果 S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC ...原创 2017-01-10 09:41:30 · 505 阅读 · 0 评论 -
jmap使用详解
1. jmap -heap pid 查看Java 堆(heap)使用情况 using thread-local object allocation. Parallel GC with 4 thread(s) //GC 方式 Heap Configuration: //堆内存初始化配置 ...原创 2017-01-09 15:10:12 · 421 阅读 · 0 评论 -
URL类发起http请求
public static void doPost(String path){ InputStream in = null; try { URL url=new URL(path); in = url.openConnection().getInputStream(); St...2017-05-03 20:10:07 · 199 阅读 · 0 评论 -
Logback不重启程序重新加载配置文件
下面配置代表不重启服务,在指定时间后重载日志配置文件 logback.xml <configuration scan="true" scanPeriod="30 seconds">....</configuration> 配置说明:scan: 设置为true,代表会在指定的时间内重新加载日志配置文...2017-04-15 15:11:26 · 2291 阅读 · 0 评论 -
利用反射实现Map对象和Object对象之间相互转化
1. Map ----> Object public static <T> T mapToBean(Map<String, Object> map, Class<T> obj) throws Exception { if (map == null) { return null; ...2015-12-22 19:14:59 · 311 阅读 · 0 评论 -
JVM内存回收总结
JAVA内存分配和回收概要: 一些常用的垃圾收集算法,主要是对内存进行清扫(标记-清扫、标记-清扫-压缩、标记-清扫-复制)等算法 JAVA在垃圾收集时使用了分代收集算法(新生代、老生代、永生代),JAVA采用的策略是在每个时代采用以上不同的垃圾收集算法 JAVA在初始化分配内存的时候,有一个内存分配策略,根据对象的不同,...2015-12-11 13:23:09 · 63 阅读 · 0 评论 -
JVM参数
Xms Xmx PermSize MaxPermSize 区别 设置大小的解释http://zhouanya.blog.51cto.com/4944792/1370017/原创 2017-03-22 09:37:59 · 67 阅读 · 0 评论 -
json处理总结(前端js和后端java)
JSON官网:官网地址 (各种编程语言对应的工具应有尽有,前提能读英文) json: json为前端后端以及网络传输的数据交换格式,可以通过它来表示各种各样复杂的数据,如对象,数组,集合,以及集合的集合等数据。 以下不讲概念问题,只介绍代码如何实现。 前端(js): json是以文本,即字符串的形式传递的,而JS操作的是JSON对象...2015-11-18 08:48:12 · 587 阅读 · 0 评论 -
Java反射机制
JAVA反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象...2016-03-18 21:17:42 · 55 阅读 · 0 评论 -
java并发相关
Condition :http://www.jianshu.com/p/be2dc7c878dcLock: http://blog.csdn.net/vernonzheng/article/details/8288251并发相关类: http://tutorials.jenkov.com/java-util-concurrent/index.html , http://tutoria...2017-10-21 17:52:42 · 86 阅读 · 0 评论 -
Java沙箱机制
java安全沙箱机制介绍 组成Java沙箱的基本组件如下:·类加载体系结构·class文件检验器·内置于Java虚拟机(及语言)的安全特性·安全管理器及Java APIJava安全模型的前三个部分——类加载体系结构、class文件检验器、Java虚拟机(及语言)的安全特性一起达到一个共同的目的:保持Java虚拟 机的实例和它正在运行的应用程序的内部完整性,使得它们不被下载的恶意代码...原创 2018-08-11 20:25:31 · 903 阅读 · 0 评论 -
Java内存泄露实例代码
内存泄露本质:长生命周期的对象持有了短生命周期的对象的引用。 减少内存泄露风险方式:1.单例模式。 单例模式一般都是全局静态持有,所以需要注意,尽量不要在单例中持有大对象。2.遇到大对象的时候,用完及时设为null。3.对象尽可能的减小其生命周期。4.I/O流用完一定要关闭。如文件流、socket流、数据库连接等5.引用类型的数组中某个元素不再需要的时候,一定要设为...2018-08-08 21:31:14 · 995 阅读 · 0 评论 -
Java内存模型
转自:https://www.cnblogs.com/nexiyi/p/java_memory_model_and_thread.html1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS...原创 2018-07-29 19:08:03 · 82 阅读 · 0 评论 -
Java对象的深拷贝和浅拷贝
浅拷贝:对象中的基本类型进行值拷贝,引用类型对引用地址进行拷贝。深拷贝:对象中的基本类型和引用类型对应的值都进行拷贝。 注意:不管是深拷贝还是浅拷贝,拷贝之后,两个对象的hashcode 不同,而且equels() 返回也是false。 java 实现浅拷贝: 必须实现Cloneable 接口,并且重写Object 的clone() public class S...2018-07-13 20:25:58 · 138 阅读 · 0 评论 -
synchronized用法总结
《编程思想之多线程与多进程(1)》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下Java线程同步中的一个重要的概念synchronized.synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块...原创 2018-04-22 11:13:10 · 106 阅读 · 0 评论 -
编程思想之多线程与多进程
什么是线程什么是线程?线程与进程与有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲的话,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把他讲通俗一点,讲的明白一点,因为这是个一直困扰我很久的,扑朔迷离的知识领域,希望通过我的理解揭开它一层一层神秘的面纱。任务调度线程是什么?要理解这个概念,须要先了解一下操作系统的一些相关概...原创 2018-04-22 11:01:54 · 169 阅读 · 0 评论 -
Bigdecimal使用注意事项
/** * 注意的问题: * 0.构造有几种方式 * 1.加减乘除 * 2.精度问题 * 3.比较大小 */ /** * 设置精度: * BigDecimal.setScale()方法用于格式化小数点 * setScale(1)表示保留一位小数,默认用四舍五入方式...2018-01-21 19:51:52 · 136 阅读 · 0 评论 -
代码优化
字符串:String 是final类,初始化之后,不会再改变,尽量不要使用+来对字符串进行拼接。下面举几个栗子: 片段一:禁止在循环体中使用通过+ 来拼接字符串 /** * 禁止在循环体中使用通过 + 来拼接字符串 * */ String result = ""; for (int i ...2017-12-24 22:15:17 · 106 阅读 · 0 评论 -
节约内存
http://blog.csdn.net/numbibi/article/details/7492808http://blog.csdn.net/l_215851356/article/details/54581454原创 2017-11-29 19:53:37 · 123 阅读 · 0 评论 -
java堆内存和堆外内存解释
一般情况下,Java中分配的非空对象都是由Java虚拟机的垃圾收集器管理的,也称为堆内内存(on-heap memory)。虚拟机会定期对垃圾内存进行回收,在某些特定的时间点,它会进行一次彻底的回收(full gc)。彻底回收时,垃圾收集器会对所有分配的堆内内存进行完整的扫描,这意味着一个重要的事实——这样一次垃圾收集对Java应用造成的影响,跟堆的大小是成正比的。过大的堆会影响Java应用的性...原创 2015-11-05 10:43:27 · 480 阅读 · 0 评论 -
java类被加载的时机
类什么时候被加载/类加载时机:第一:生成该类对象的时候,会加载该类及该类的所有父类;第二:访问该类的静态成员的时候;第三:class.forName("类名");...原创 2014-04-28 20:25:29 · 92 阅读 · 0 评论 -
关于异步,同步,阻塞与非阻塞概念
如果你想吃一份宫保鸡丁盖饭:同步阻塞:你到饭馆点餐,然后在那等着,还要一边喊:好了没啊!同步非阻塞:在饭馆点完餐,就去遛狗了。不过溜一会儿,就回饭馆喊一声:好了没啊!异步阻塞:遛狗的时候,接到饭馆电话,说饭做好了,让您亲自去拿。异步非阻塞:饭馆打电话说,我们知道您的位置,一会给你送过来,安心遛狗就可以了。 在高性能的I/O设计中,有两个比较著名的模式React...2015-10-15 21:23:18 · 235 阅读 · 0 评论 -
java面试题
1.谈谈Spring 依赖注入的几种方式? 依赖注入只要有三种方式 1.通过setter方法注入 2.通过构造方法注入 3.通过Field注入 3.1手工装配 3.1.1 使用XML配置,来进行注入 ...原创 2015-03-06 21:24:55 · 96 阅读 · 0 评论 -
java方法参数中的基本数据类型传递和引用数据类型传递总结
先看例子 1.在方法中,基本数据类型的传递package cn.zyy;public class Test { public static void main(String[] args) { int i =1,j=2; change(i,j); System.out.println("i=" +i + ",j="+ j); /**结果为:i=...原创 2015-03-05 18:41:49 · 374 阅读 · 0 评论 -
J2EE项目异常处理
原文 :http://klyuan.iteye.com/blog/72170原创 2013-10-11 21:22:14 · 54 阅读 · 0 评论 -
java Servlet接口及应用
java Servlet接口及应用 基本类和接口 一、javax.servlet.Servlet接口 servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。Servlet接口的基本目标是提供生命期方法init()、service()和destroy()方法。 ...原创 2013-08-13 11:32:26 · 107 阅读 · 0 评论 -
java数据库连接工具类
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * 类描述:数据库连接工具类(单例模式) * 类名称:DatabaseCon...原创 2013-08-09 11:25:35 · 151 阅读 · 0 评论 -
Java中日期格式转换总结
1 SimpleDateFormat担当重任,怎样格式化都行 import java.util.Date;import java.text.SimpleDateFormat;public class Demo{ public static void main(String[] args) { Date now=new Date(); SimpleD...原创 2013-08-08 11:40:04 · 416 阅读 · 0 评论 -
RuntimeException和非RuntimeException的区别
通俗一点: Error : 系统级别的错误,如栈溢出 内存溢出之类 ,此类错误一般情概况保证程序能安全退出即可 Exception : 分为 RuntimeException 和 非RuntimeException ...原创 2013-08-06 12:09:06 · 1088 阅读 · 0 评论 -
java基础小结
详细看压缩文件原创 2013-07-28 20:38:01 · 61 阅读 · 0 评论 -
java IO流
java.io 的描述通过数据流、序列化和文件系统提供系统输入和输出。流流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。编辑本段Java流输入输出原理Java把这些不同来源和目标的数据都统一抽象...原创 2013-07-28 11:08:20 · 55 阅读 · 0 评论 -
Java数组操作工具
import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Random; import java.util.TreeMap; /** * @desc 数组操作工具 * */ public class MyArrayUt...原创 2015-05-30 20:52:18 · 73 阅读 · 0 评论 -
IO通信模型介绍(未完待续)
IO:程序中使用IO流,需要和操作系统的内核打交道,在Linux内核中,IO会被看做是一个描述符(FD:文件描述符,/SD:网络描述符),这个描述符会指向一个结构体 阻塞IO模型:传统的IO最大的缺点就是它是阻塞的,当某个客户端发送数据过来,当前的线程必须要等该链接将数据全部发送到系统buffer中,然后从系统的buffer空间移动到进程(应用程序)的buffer空间,在这段时间...原创 2016-05-16 16:47:01 · 109 阅读 · 0 评论 -
深入理解Java对象序列化(转)
关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相关文章和其它网络资料,也加入了自己的实践经验与理解,文、码并茂,希望对大家有...原创 2015-10-09 10:15:01 · 77 阅读 · 0 评论 -
java中BIO、NIO、AIO区别(转)
转自:http://m.blog.csdn.net/blog/yuj9006/25801151 java中的IO主要源自于网络和本地文件 IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服...原创 2015-10-08 16:51:19 · 425 阅读 · 0 评论 -
Log4j2手册阅读随笔(Log4j2新特性)
1.丢数据这种情况少,可以用来做审计功能。而且自身内部报的exception会被发现,但是logback和log4j不会。2.log4j2使用了disruptor技术,在多线程环境下,性能高于logback等10倍以上。3.(garbage free)之前的版本会产生非常多的临时对象,会造成GC频繁,log4j2则在这方面上做了优化,减少产生临时对象。尽可能少的GC4.利用插件系统...2016-08-17 22:14:28 · 173 阅读 · 0 评论 -
非对称加密算法/数字签名算法——RSA实例(转)
RSA 这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。 这种加密算法的特点主要是密钥的变化,上文我们看到DES只有一个密钥。相当于只有一把钥匙,如果这把钥匙丢了,数据也就不安全了。RSA同时有两把钥匙,公钥与私钥...原创 2015-09-21 11:24:37 · 949 阅读 · 0 评论 -
Map的几种遍历方式
Map的几种遍历方式: public static <K,V> void iteratorMap(Map<K, V> map){ /** * 下面通过四种方式来取出map中的key 和value * 两种思路:1.entrySet 2.keySet * 两种方式:1.for(:) 2.while() * */...2015-08-20 15:59:13 · 66 阅读 · 0 评论