java
love others as self
love others as self! ----愿美梦成真!
展开
-
大话java性能调优读书笔记
序:最大的思想紊乱是相信人们想要相信的事情.1 调优方法,调优方向调优层次2导致系统瓶颈的计算资源:cpu、内存,磁盘IO, 网络传送,数据库,锁竞争,异常等磁盘IO读写速度比内存慢很多,由于网络的不确定性,可能网络的操作速度比磁盘I/O更慢数据库中的连接数量,读写速度,数据合并,海量数据处理----异步操作,多数据中心高并发程序中如果存在激烈的锁竞争会原创 2017-03-28 20:34:52 · 3217 阅读 · 1 评论 -
Java多线程编程总结
转自:http://lavasoft.blog.51cto.com/62575/27069/下面是Java线程系列博文的一个编目: Java线程:概念与原理Java线程:创建与启动Java线程:线程栈模型与线程的变量Java线程:线程状态的转换 Java线程:线程的同步与锁Java线程:线程的交互Java线程:线程的调度-休眠 Java线程:线程的调度-转载 2017-03-07 14:15:34 · 294 阅读 · 0 评论 -
Java多线程编程模式实战指南(二):Immutable Object模式
多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带来一些问题和开销。Immutable Object模式使得我们可以在不使用锁的情况下,既保证共享变量访问的线程安全,又能避免引入锁可能带来的问题和开销。Immutable Object模式简介多线程环境中,一个对象常常会被多个线程共享。这种情况下,如果存在多个线程并发地修改该对象的状态或者一转载 2017-03-09 10:26:29 · 403 阅读 · 0 评论 -
Java多线程-工具篇-BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个转载 2017-03-08 17:47:03 · 360 阅读 · 0 评论 -
ConcurrentHashMap详解
并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O)。ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile原创 2017-02-16 10:40:30 · 2264 阅读 · 0 评论 -
Java数据结构和算法(一)——开篇
这篇文章里面不讲技术,抽空讲讲技术和通俗之间有一种奇特的关系,还有驱动力学习的东西。看的是——《Java数据结构和算法》一书,作者Robert Lafore。1)数据结构算法有什么用?当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类的。好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了。校转载 2017-03-02 18:11:04 · 365 阅读 · 0 评论 -
JAVA多线程与并发学习总结
一、 什么是并发 在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。这里需要注意并发和并行是不同的两个概念。并发是指一个时间段内同时运行,这是个区间;而并行是指在同一个时间点上运行,这个是一个点。而且并发在同一个时间点上只能是一个程序在运行。二、 什么是进程 Window转载 2017-03-01 10:51:14 · 3408 阅读 · 0 评论 -
ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的转载 2017-03-01 10:38:15 · 481 阅读 · 0 评论 -
Java集合框架
一、Collection接口Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。JavaSDK不提供直接继承自Collection的类,JavaSDK提供的类都是继承自Collection的"子接口"如List和Set。转载 2017-02-17 17:21:42 · 275 阅读 · 0 评论 -
java多线程核心技术学习笔记
停止线程在Java中有三种方法可以终止正在运行的线程:使用退出标志,使线程正常退出,也就是当run方法完成后线程终止使用stop方法强行终止线程(不推荐),因为stop和suspend及resume一样,都是作为过期的方法,使用它们可能产生不可预料的结果使用interrupt方法中断线程判断线程是否是停止状态,Thread类中有以下两个方法:this.interrupted原创 2017-03-21 15:10:02 · 633 阅读 · 0 评论 -
吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下:1. 响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同...转载 2018-08-26 15:31:49 · 5674 阅读 · 0 评论 -
Protobuf详解(.Java文件)
们在开发一些RPC调用的程序时,通常会涉及到对象的序列化/反序列化的问题,比如一个“Person”对象从Client端通过TCP方式发送到Server端;因为TCP协议(UDP等这种低级协议)只能发送字节流,所以需要应用层将Java对象序列化成字节流,数据接收端再反序列化成Java对象即可。“序列化”一定会涉及到编码(encoding,format),目前我们可选择的编码方式: 1)使用JS...转载 2018-04-02 10:17:42 · 1656 阅读 · 0 评论 -
图解Protobuf编码
Protobuf是Google发布的消息序列化工具。Protobuf定义了消息描述语法(proto语法)和消息编码格式,并且提供了主流语言的代码生成器(protoc)。本文仅讨论Protobuf消息编码格式,并且假定读者已经熟悉Protobuf消息描述语法(proto2或者proto3)。基本编码规则Protobuf消息由字段(field)构成,每个字段有其规则(rule)、数转载 2018-03-31 21:15:49 · 2307 阅读 · 0 评论 -
M调优总结 -Xms -Xmx -Xmn -Xss
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m -Xmn2转载 2018-01-18 13:41:32 · 698 阅读 · 0 评论 -
Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例
Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例 概要这一章,我们对TreeSet进行学习。我们先对TreeSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeSet。内容包括:第1部分 TreeSet介绍第2部分 TreeSet数据结构第3部分 TreeSet源码解析(基于JDK1.6.0_45)第4部分 Tr转载 2017-10-14 19:15:43 · 300 阅读 · 0 评论 -
JAVA之BigInteger
用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂。用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的来处理。下面是写的一些Java中一些基本的函数的及其……头文件:import java.io.*;import java.util.*;import java.math.*;读入: Scanner c转载 2017-09-01 10:20:22 · 261 阅读 · 0 评论 -
Java中对象的深复制(深克隆)和浅复制(浅克隆)介绍
1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有转载 2017-07-26 20:40:00 · 365 阅读 · 0 评论 -
Eclipse打包成jar文件的两种方法
本文系转载:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html方案一:用Eclipse自带的Export功能步骤1:准备主清单文件 “MANIFEST.MF”,由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:Man转载 2017-07-03 10:46:28 · 3670 阅读 · 0 评论 -
java的FrenameTo(File)方法
以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名、移动文件的目的。不过后来经常发现问题:File#renameTo(File)方法会返回失败(false),文件没有移动,又查不出原因,再后来干脆弃用该方法,自己实现一个copy方法,问题倒是再也没有出现过。昨天老板同学又遇到这个问题,File#renameTo(File)方转载 2017-07-03 09:38:08 · 584 阅读 · 0 评论 -
Java反射机制
Java反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的转载 2016-11-24 10:21:08 · 291 阅读 · 0 评论 -
System.Properties和System.getenv区别
System.Properties和System.getenv区别标签: java 2014-11-04 10:38 5408人阅读 评论(0)收藏 举报本文章已收录于: 分类:java(29) 作者同类文章X版权声明:本文为博主原创文章,未经博主允许不得转载。网上很多使用的转载 2016-11-21 10:57:05 · 1166 阅读 · 0 评论 -
HTTPS_SSLTT介绍及其配置
1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址,想要用系统的人没有证书就访问不了系统HTTPS概念转载 2016-06-28 20:02:16 · 877 阅读 · 0 评论 -
java的动态代理机制详解
转自:http://www.cnblogs.com/xiaoluo501395377/p/3383130.html在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的转载 2016-08-17 11:04:00 · 311 阅读 · 0 评论 -
Java类型中ParameterizedType,GenericArrayType,TypeVariabl,WildcardType详解
Java类型中ParameterizedType,GenericArrayType,TypeVariabl,WildcardType详解(1). 和反射+泛型有关的接口类型java.lang.reflect.Type:java语言中所有类型的公共父接口java.lang.reflect.ParameterizedTypejava.lang.reflect.Gener转载 2016-08-17 09:41:10 · 4237 阅读 · 0 评论 -
Java加密解密全解
1 sha加密:安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。该算法经过加密专家多年来的发展和改进已日益完善,并被广泛使用。该算法的思想是接原创 2016-08-05 11:31:18 · 36539 阅读 · 2 评论 -
Java常用工具类
BeanName包含包名,simpleBeanName只是类名转载 2016-07-20 20:08:46 · 8633 阅读 · 0 评论 -
jstl 中function的使用
jstl中function的使用比较特殊,它不是以“标签”的形式出现的(很多初学者都以为是的形式),而是通常和el表达式一起使用 http://java.sun.com/jstl/fn /WEB-INF/fn.tld长度函数: fn:length字符串处理函数: fn:contains 、 fn:containsIgno转载 2016-07-19 11:00:14 · 5383 阅读 · 0 评论 -
【Linux】制作和部署WAR包和在TOMCAT中部署WAR
JAR、WAR、EAR的使用和区别 Jar、war、EAR、在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别:Jar文件(扩展名为. Jar,Java Application Archive)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等War文件(扩展名为.War,Web Ap转载 2016-06-17 13:55:37 · 799 阅读 · 0 评论 -
常用web前端知识
http://java.sun.com/jsp/jstl/core"%> http://java.sun.com/jsp/jstl/functions" prefix="fn"%>--------这里就需要有standard.jar这个包必须要导的两个包。 jsp页面判断获得action传的list的是否为空或者list.size的长度,就可以用fn这个标签:这转载 2016-07-22 20:03:09 · 834 阅读 · 0 评论 -
HTMLParser使用
英文原义:File Protocol 中文释义:本地文件传输协议 注解:File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。 应 用:要使用File协议,基本的格式如下:file:///文件路径,比如要打开F盘flash文件夹中的1.swf文件,那么可以在资源管理器或IE地址栏中键入:file:///f:/flash/1.swf并回车原创 2016-08-06 14:11:53 · 3222 阅读 · 0 评论 -
java中queue的使用
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Q转载 2016-12-11 18:33:14 · 371 阅读 · 0 评论 -
java编程思想之泛型
1.泛型边界:Java泛型编程时,编译器忽略泛型参数的具体类型,认为使用泛型的类、方法对Object都适用,这在泛型编程中称为类型信息檫除。例如:[java] view plain copy print?class GenericType{ public static void main(String[] args){ Sys转载 2016-10-07 13:16:07 · 648 阅读 · 0 评论 -
ArrayList.add后,前面数据被覆盖的问题
1. 代码示例:public class ListTest { public static void main(String[] args) { // TODO Auto-generated method stub List list =new ArrayList(); User user=new User(); user.setName转载 2016-10-18 20:37:28 · 6150 阅读 · 2 评论 -
Java集合Map接口与Map.Entry学习
Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/value pairs)。该接口描述了从不重复的键到值的映射。 (1) 添加、删除操作: Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不转载 2016-10-11 19:13:43 · 324 阅读 · 0 评论 -
Java调用XML的方法:DocumentBuilderFactory
首先得到:得到 DOM 解析器的工厂实例 DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();然后从 DOM 工厂获得 DOM 解析器 DocumentBuilder dombuilder=domfac.newDocumentBuilder(); 3 )把要解析的XML 文原创 2016-08-11 10:45:42 · 5873 阅读 · 0 评论 -
xgboost: 速度快效果好的boosting模型
转自:http://cos.name/2015/03/xgboost/2015/03/04数据挖掘与机器学习、统计之都、统计软件、软件应用boosting、Gradient Boosting Machine、xgboost、数据建模预测严酷的魔王本文作者:何通,SupStat Inc(总部在纽约,中国分部为北京数博思达信息科技有限公司)数据科学家,加拿大Simon Fr转载 2016-08-10 16:45:41 · 2981 阅读 · 1 评论 -
反射与泛型
Java通过指定类对应的Class对象,程序可以获得该类里包括的所有Field,不管该Field使用private修饰,还是使用public修饰。获得了Field对象后,就可以很容易的获得该Field的数据类型,例如,下面的代码便是获得该Field对象foeld的类型:Classtype = field.getType();但是通过这种方式只对普通类型的Field有效,如果该Field的类转载 2016-08-09 10:47:20 · 734 阅读 · 0 评论 -
BeanUtils,PropertyUtils
转自:http://www.cnblogs.com/friends-wf/p/3720348.htmlbeanUtils的用法举例1:使用BeanUtils工具封装用户提交的数据。 1 public static void main(String[] args)throws Exception { 2 3 // 模拟用户的输入的数据如下 4转载 2016-08-08 11:58:53 · 581 阅读 · 0 评论 -
java可变长度参数
转自:http://www.cnblogs.com/lanxuezaipiao/p/3190673.htmlJava中可变长参数的使用及注意事项在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print("hello","lisi");print("h转载 2016-08-18 10:14:23 · 414 阅读 · 0 评论 -
@Transient
java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。transient使用小结1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本原创 2016-07-02 13:45:45 · 19582 阅读 · 2 评论