Java
文章平均质量分 61
「已注销」
这个作者很懒,什么都没留下…
展开
-
Java异常:选择Checked Exception还是Unchecked Exception?
Java包含两种异常:checked异常和unchecked异常。C#只有unchecked异常。checked和unchecked异常之间的区别是: Checked异常(非运行时异常)必须被显式地捕获或者传递,强制捕获或抛出,如Basic try-catch-finally Exception Handling一文中所说。而unchecked异常(运行时异常)则可以不必捕获或抛出。...原创 2016-04-01 17:18:16 · 113 阅读 · 0 评论 -
JVM内存模型2
深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一纠纷,CPU厂商在每颗CPU上加入了高速缓存,...原创 2015-09-21 23:51:38 · 116 阅读 · 0 评论 -
JVM内存模型1
JVM学习之-JVM内存结构1.1 JVM运行ClassLoader->RUNNTIME DATA AREA->EXECUTION ENGINE->NATIVE INTERFACE->NATIVE LIBRARIESClass Loader:负责加载类到内存RUNNTIME DATA AREA:负责EXECUTION ENGINE: ...原创 2015-09-21 23:49:55 · 65 阅读 · 0 评论 -
图解classloader加载class的流程及自定义ClassLoader
java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职: Bootstrap ClassLoader 负责加载java基础类,主要是 %JRE_HOME/lib/ 目录下的rt.ja...原创 2015-09-21 21:45:54 · 62 阅读 · 0 评论 -
Java集合框架详解
Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题。很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性。下面是面试Java核心技术的一些很实用的问题。Q:最常见的数据结构有哪些,在哪些场景下应用它们?A. 大部分人都会遗漏树和图这两种数据结构。树和图都是很有用的数据结构。如果你在回答中提及到它们的话,面试者可能会对你进行进一步进行的考核。Q:你如何...原创 2015-09-15 23:43:56 · 63 阅读 · 0 评论 -
公钥,私钥和数字签名的理解
一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了...原创 2016-08-04 17:56:26 · 150 阅读 · 0 评论 -
JAVA自定义注解1
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target, 2.@Rete...原创 2016-08-01 16:51:21 · 112 阅读 · 0 评论 -
JAVA自定义注解2
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotati...原创 2016-08-01 16:51:02 · 104 阅读 · 0 评论 -
git同时配置gitlab和github
本人一字一句写的,转载备注来源,谢谢 一、设置gitlab秘钥:1、$ssh-keygen -t rsa -C "[email protected]"2、回车使用默认 id_rsa取名,最后会生成id_rsa 与id_rsa.pub两个文件3、输入密码4、cd ~/.ssh5、vim id_rsa.pub 拷贝到gitlab设置ssh keys 二、设置github秘钥...原创 2016-06-16 16:27:05 · 544 阅读 · 0 评论 -
tomcat结合nginx使用小结
相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额。那究竟它有什么作用呢?可能很多人未必了解。说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了。摘一段百度百科上的描述:Html代码 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器...原创 2016-06-06 10:45:56 · 106 阅读 · 0 评论 -
crossdomain.xml配置详解
本文概括介绍了跨域策略文件,以及如何在 Adobe Media Server 中为 HTTP 流式传输配置该文件。为什么需要采用 crossdomain.xml 文件?跨域策略文件 跨域策略文件是一种 XML 文档,旨在为 Web 客户端,比如 Adobe Flash Player 或 Adobe Acrobat(但不限于这两类客户端)授予跨域处理数据...原创 2014-09-29 23:00:34 · 576 阅读 · 0 评论 -
解决 - java.lang.OutOfMemoryError: unable to create new native thread
工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题、分析问题、解决问题。 一、认识问题:首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4,测试程序:Java代码 imp...原创 2014-04-25 11:43:39 · 87 阅读 · 0 评论 -
Spring Junit 读取WEB-INF下的配置文件
假设Spring配置文件为applicationContext.xml转载自:http://blog.csdn.net/rj042/article/details/7549462一、Spring配置文件在类路径下面在Spring的java应用程序中,一般我们的Spring的配置文件都是放在放在类路径下面(也即编译后会进入到classes目录下)。以下是我的项目,因为是用mave...原创 2014-08-19 19:23:49 · 158 阅读 · 0 评论 -
Java 反射机制浅析
[size=medium]JAVA反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动...原创 2014-08-13 20:12:41 · 73 阅读 · 0 评论 -
JVM内存模型3
java 内存划分:在Java内存分配中,java将内存分为:方法区,堆,虚拟机栈,本地方法栈,程序计数器。其中方法区和堆对于所有线程共享,而虚拟机栈和本地方法栈还有程序计数器对于线程隔离的。每个区域都有各自的创建和销毁时间。程序计数器:作用是当前线程所执行的字节吗的行号指示器。Java的多线程是通过线程轮流切换并分配处理器执行时间方式来实现的。因此,每个线程为...原创 2015-09-21 23:53:42 · 67 阅读 · 0 评论 -
回调函数透彻理解Java
回调函数,第一次见是在Java编程思想中,以及后来的观察者模式也应用了回调函数的思想。但是一直都没有重视,终于在一次面试的时候吃亏了,越来越理解为什么很多人说Java编程思想这本书要一遍遍的看,吃透! 首先在网络上搜索很多文章介绍什么是回调函数,看的云里雾里的。后来自己一步步分解终于理解了,记录如下。 从维基百科上面摘抄定义:(看完本篇文章再来理解这个定义)...原创 2015-10-10 20:44:43 · 64 阅读 · 0 评论 -
分布式集群系统下的高可用session解决方案
目前,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的共享机制。 目前,在集群系统下实现session统一的有如下几种方案:(1) 应用服务器间的session复制共享(如tomcat session共享)(2) 基于cache DB缓存的session共享应用服务器间的sess...原创 2015-10-20 23:04:58 · 85 阅读 · 0 评论 -
spring@Transactional注解解决事务处理问题
自己开始使用注解的时候,不知道为什么总是有错误,好像参考了一本书的方法,一直有错,然后参考了下面的方法成功了,好像是在设置hibernate事务管理器代理类的bean时,应该是ref="sessionFactory",自己写成了ref local="sessionFactory"如 步骤一、在spring配置文件中引入命名空间 xmlns:xsi="http://www.w3.org/...原创 2016-04-01 16:57:11 · 185 阅读 · 0 评论 -
UML类图几种关系的总结
在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization)【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.【箭头...原创 2016-03-29 19:44:09 · 89 阅读 · 0 评论 -
cygwin安装redis
http://my.oschina.net/maxid/blog/186506原创 2016-01-14 22:18:59 · 111 阅读 · 0 评论 -
synchronized修饰静态方法和非静态方法的区别
区别: 非静态方法是获取对象锁(如this) 静态方法是获取类锁 (如:Demo.class) public class StaticSynDemo {private static String a="test";//等同于方法print2public synchronized void print1(String b){ //调用前要取得StaticSynD...原创 2017-04-16 16:27:48 · 403 阅读 · 0 评论 -
Java NIO 系列教程
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。感谢并发编程网的翻译和投递。 (关注ITeye官微,随时随地查看最新开发资讯、技术文章。) Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于...原创 2015-12-08 23:18:04 · 77 阅读 · 0 评论 -
HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of H...原创 2015-12-08 23:03:52 · 89 阅读 · 0 评论 -
【Java线程】锁机制:synchronized、Lock、Condition
http://www.infoq.com/cn/articles/java-memory-model-5 深入理解Java内存模型(五)——锁 http://www.ibm.com/developerworks/cn/java/j-jtp10264/ Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制http://blog.csdn.net...原创 2015-12-07 23:59:04 · 66 阅读 · 0 评论 -
java自带线程池和队列详细讲解
Java线程池使用说明一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程...原创 2015-12-07 23:31:43 · 68 阅读 · 0 评论 -
Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
一、问题: 数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求。 二、解决方案: 1.通过高速服务器Cache缓存数据库数据 2.内存数据库 (这里仅从数据缓存方面考虑,当然,后期可以采用Hadoop+HBase+Hive等分布式存储分析平台)三、主流解Cache和数据库对比: ...原创 2015-12-07 00:04:56 · 91 阅读 · 0 评论 -
request.getRequestURI()、getRequestURL()、getContextPath()、getServletPath()区别
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp?n=1 则执行下面向行代码后打印出如下结果: 1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项目的名字 打印结果:/news 2、Syst...原创 2015-11-25 14:26:43 · 106 阅读 · 0 评论 -
Java Volatile/transient关键字
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。 Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。 这样当多个线程同时与某个对...原创 2015-11-13 14:45:39 · 61 阅读 · 0 评论 -
mysql集群master和salve配置mysql的master和salve详解事件
mysql 集群 master和salve 配置mysql的master和salve 详解事件:由于公司的服务器配置较低,大量的请求用户进来托的很慢将系统,于是想到了mysqd集群配置,具体配置参数就不贴出来了,请看下面 的 原理篇Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instance(我...原创 2015-10-21 21:58:47 · 168 阅读 · 0 评论 -
剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER)
剖析淘宝 TDDL ( TAOBAO DISTRIBUTE DATA LAYER )注:本文内容引用http://www.tuicool.com/articles/nmeuu2 前言在开始讲解淘宝的 TDDL(Taobao Distribute Data Layer) 技术之前,请允许笔者先吐槽一番。首先要开喷的是淘宝的社区支持做的无比的烂, TaoCode 开源社区上面,几乎从...原创 2015-10-21 21:32:52 · 114 阅读 · 0 评论 -
使用json-lib进行Java和JSON之间的转换
[code="java"]package com.mai.json;import static org.junit.Assert.assertEquals;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.Iterator;impo...原创 2014-08-13 19:54:53 · 61 阅读 · 0 评论 -
Json与javaBean之间的转换工具类
[code="java"]import java.lang.reflect.Field;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;...原创 2014-08-13 19:46:30 · 317 阅读 · 0 评论 -
Spring2.5+JUnit4单元测试
要求: JDK1.5以上(因为Junit4是用注解来实现的) 需要的包 spring-2.5.jar junit-4.4.jar spring-test.jar 测试类 package user;import static org.junit.Assert.fail;import java.ut...原创 2014-08-11 21:33:06 · 75 阅读 · 0 评论 -
List.subList()注意点
http://blog.sina.com.cn/s/blog_4b02f2770100j059.html http://yongliang567.iteye.com/blog/711089原创 2012-06-21 13:26:25 · 73 阅读 · 0 评论 -
getRequestURI,getRequestURL的区别
test1.jsp=======================<a href ="test.jsp?p=fuck">跳转到test2</a>test2.jsp=======================<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%原创 2012-02-06 10:54:05 · 81 阅读 · 0 评论 -
Apache Commons BeanUtils包学习
一、概述第一次看到BeanUtils包,是在Struts项目中,作为Struts一个工具来使用的,估计功能越弄越强,就移到Common项目中了吧。BeanUtils一共有四个package:org.apache.commons.beanutilsorg.apache.commons.beanutils.convertersorg.apache.commons.beanu...原创 2011-11-24 10:02:00 · 121 阅读 · 0 评论 -
Log4j使用总结
[size=small]一、介绍 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。 Log4j由三个重要的组件构成:日志信息的优先级,日...原创 2012-05-21 15:53:09 · 68 阅读 · 0 评论 -
Java日志管理:Logger.getLogger()和LogFactory.getLog()的区别(详解Log4j)
[url]http://apps.hi.baidu.com/share/detail/8464342[/url][url]http://javacrazyer.iteye.com/blog/1135493[/url]原创 2011-12-21 09:35:46 · 78 阅读 · 0 评论 -
js 编码,使用java解码方式
js在发送url请求带中文时会有乱码问题: 例如 var url="....do?method=init&name='中文'"; 处理的方法是 对中文进行二次转码 encodeURI(encodeURI('中文')) 而我们通常只做一次转码发现还是不对。只能叹没有办法。 在接收方进行一次解码: java.net.URLDecoder static St...原创 2011-12-16 11:02:30 · 147 阅读 · 0 评论 -
SimpleDateFormat的常用说明以及与oracle格式不一样
//////////////////////////////////////////首先说明一下关键的参数 G 年代标志符 y 年 M 月 d 日 h 时 在上午或下午 (1~12) H 时 在一天中 (0~23) m 分 s 秒 S 毫秒 E 星期 D 一年中的第几天 F 一月中第几个星期几 w 一年中第几个星期 W 一月中第几个星期 a 上午 / 下午 标记符...原创 2011-04-08 13:30:40 · 120 阅读 · 0 评论