- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 2015/3 盛付通面试
你当前参与项目的架构和领域模型画一下。分析一下jvm为什么会出现oom。系统运行了半年出现这个问题。怎么排查。一个集群应用,后面挂一个 oracle 。怎么保证事务性。你是怎么调用 memcached的,如果更新memcached过程中网络断开应该怎么处理。 雪崩怎么处理。一个对象,包含 cancel、 approval、等几个状态,分布式环境下怎么保证状态能同步更新。单元...
2015-03-25 14:42:50 186
原创 为什么要使用 <%@ page session="false"%>
问:为什么要在JSP中使用<%@ page session="false" %> 答:一个原因是 内存 和 性能。如果你有一个页面不需要在一个Session中被调用(比如,about.jsp,faq.jsp)。那么你可以再JSP页面中使用此句话阻止服务端创建Session。 ...
2013-12-05 14:54:31 1018
原创 理解session机制[转]
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为 session id,如果已包含一个session id则说明以前已经为此客户端创建过session,服务器就按照session id把这个 session...
2013-12-05 14:41:28 160
原创 JVM内存模型及垃圾收集策略解析
一 JVM内存模型1.1 Java栈Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。栈空间随着线程的终止而释放。StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。1.2 堆Java中...
2011-09-25 01:56:21 107
原创 Java对象的强、软、弱和虚引用
1.Java对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。 图1⑴强...
2011-09-25 01:20:27 93
原创 JVM基础概念总结:数据类型、堆与栈
数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。 基本类型的变量保存原始值,即:他代表的值就是数值本身; 而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte, short, int, long, char, float, double, Boolean, ...
2011-09-25 01:14:08 89
原创 JVM分代垃圾回收策略的基础概念
为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变量,...
2011-09-25 01:07:58 82
原创 就算你英语再烂~~看了这个也应该学会英语时态了吧~~我靠 我10年没弄懂的东西 5分钟全明白了...
一般现在时:I make love with her everyday.一般过去时:I made love with her yesterday.一般将来时:I will make love with her tomorrow.现在进行时:I am making love with her过去进行时:I was making love with her at this tim...
2011-06-10 22:44:29 225
原创 理解静态变量惰性初始化的双检锁模式
对于双检锁,其实有多种不同的用法,有很多种用法是无论如何不会出现问题的.我最初用双检锁来获取jndi对象时,立即有人告诉我双检锁是不安全的,我笑着告诉他:是否安全我比你更有把握. static DataSource ds = null;public static DataSource getDataSource(){ if(ds == null){ synchron...
2011-05-10 22:28:49 166
原创 oracle锁等待/死锁原因分析
1。模拟死锁1。1。主表-- Create tablecreate table WDZ1( WDZ1ID NUMBER not null, MEMO VARCHAR2(20));alter table WDZ1 add constraint XXXXXX primary key (WDZ1ID); 1。2。从表(没有外健的索引)-- Create ta...
2011-04-18 10:28:50 607
原创 基本类型 加减运算 类型转换问题讨论
先来看下面的 代码: public class Test{ public static void main(String[] args) { short i ; i = i + 1; //编译错误 i += 1; //正确 byte j = 1; //正确 byte k = 2; byte l = j + k; //错误...
2011-03-09 14:56:14 146
三月五日 上海华为面试
上周接到华为招聘电话,让周六去应聘android 程序员。。周六反正也没事就去了。。。 华为这次招聘是在 新金桥路2222,太太太远了。。。按照丁丁地图和百度地图的说法 世纪大道站 转790 ,然后乘20站 到金海路金穗路。 790跟网上介绍的时间间隔好像不太一样,周末的790貌似是半小时一班。。地铁转公交整整在路上花费两个半小时才到达 目的地。。 面试是在...
2011-03-07 14:24:31 217
原创 DataSource 使用方法
转自:http://marshal.easymorse.com/archives/425 DataSource接口(javax.sql.DataSource)替代DriverManager获取Connection的方法,有以下好处:可以在部署时灵活更换Connection实现;可以更好的屏蔽数据库的相关性。以下以oracle为例说明。 使用厂商DataSour...
2011-03-03 14:26:38 2593
原创 Java util之常用数据类型特性盘点(Map 四种同步方式的性能比较)
出处:http://www.iteye.com/topic/164644 使用 synchronized 关键字,这也是最原始的方法。代码如下 synchronized(anObject){ value = map.get(key);} 使用 JDK1.5 提供的锁(java.util.concurrent.locks.Lock...
2011-02-24 20:09:34 152
原创 Java util之常用数据类型特性盘点 (HasMap深度分析)
出处:http://www.iteye.com/topic/754887 HashMap的数据结构HashMap主要是用数组来存储数据的,我们都知道它会对key进行哈希运算,哈系运算会有重复的哈希值,对于哈希值的冲突,HashMap采用链表来解决的。在HashMap里有这样的一句属性声明:transient Entry[] table; Entry就是H...
2011-02-24 17:57:01 110
原创 Java util之常用数据类型特性盘点 (三)
Java util之常用数据类型特性盘点 (三) 出处:http://www.iteye.com/topic/825683 这篇我准备从源码的高度来看看集合中各个实现类的是如何组织我们存进去的数据的,主要包括Java类库中提供的几个具体的类: LinkedList ArrayList HashMap HashSet TreeMap TreeSet PriorityQueue(顺序按...
2011-02-24 16:22:30 125
原创 Java util之常用数据类型特性盘点 (二)
Java util之常用数据类型特性盘点 (二) 出处:http://www.iteye.com/topic/25107ArrayList是List接口的一个可变长数组实现。实现了所有List接口的操作,并允许存储null值。除了没有进行同步,ArrayList基本等同于Vector。在Vector中几乎对所有的方法都进行了同步,但ArrayList仅对writeObject和readOb...
2011-02-24 16:07:59 101
原创 Java util之常用数据类型特性盘点(一)
Java util之常用数据类型特性盘点 出处:http://www.iteye.com/topic/22192 java.util就相当于c++的STL,是Java的一个非常重要的包,有很多常用的数据类型,不同数据类型有不同的用途,而有些数据类似乎很相似,怎样选择应用,就需要对它们进行辨析。 下面列出了这些数据类型的特点,根据这些特点,就可以有针对性的选用 * 蓝色为接口,绿色为具体...
2011-02-24 15:47:00 87
原创 Java 中实例化对象方法
1、直接 new 调用默认构造器实例化对象,如:String str = new String("abc"); 2、通过工厂方法返回对象,如: //不知道这个算不算。。String str = String.valueOf(23); 3、通过反射,如: Object obj = Class.forName("java.lan...
2011-02-24 13:57:15 273
原创 java 冒泡排序、选择排序、插入排序、快速排序二分法查找代码
java 排序的代码 import java.util.Random;/** * 排序测试类 * * 排序算法的分类如下: 1.插入排序(直接插入排序、折半插入排序、希尔排序); 2.交换排序(冒泡泡排序、快速排序); * 3.选择排序(直接选择排序、堆排序); 4.归并排序; 5.基数排序。 * * 关于排序方法的选择: (1)若n较小(如n≤50),...
2011-02-23 20:42:19 154
原创 java collection集合框架
Java集合框架使用总结出处:http://blog.csdn.net/nihao_201104/archive/2008/11/21/3345127.aspx 前言:本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看Java API文档。 一、概述数据结构对程序设计有着深远的影...
2011-02-23 17:19:07 90
原创 java.sql.Date与java.util.Date 异同
java.util.Date 包含日期和时间。 java.sql.Date 是 java.util.Date的子类,并且只包含日期,没有包含时间部分。 看下面 java.sql.Date中覆盖父类的toString()方法: public String toString() { int year = super.getYear() + 1900; i...
2011-02-23 17:13:10 157
原创 类的初始化顺序问题
一道面试题目,看代码: public class Testinitial{ public static void main(String[] args) { // 第一种情况 int a = Test2.a; // 第二种情况 // int a = Test2.b; System.out.println("main method"); }...
2011-02-23 16:10:38 82
原创 java clone方法使用详解
java clone方法使用出处:http://www.iteye.com/topic/182772 Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型...
2011-02-23 15:39:13 107
原创 Java数据类型
Java数据类型 JAVA语言中定义了8种基本的数据类型,来保存变量。与它的前辈C和C++语言一样,JAVA要求程序中的每一个变量都规定自己的类型。正因为如此,JAVA属于强类型语言,从而不同于JavaScript这样的弱类型脚本语言。下面我们来看看这8种类型: public class FloatDouble{ public static void main(String[]...
2011-02-23 15:04:51 82
原创 java float double为什么精度会丢失
由于对float或double 的使用不当,可能会出现精度丢失的问题。问题大概情况可以通过如下代码理解: public class Num{ public static void main(String[] args) { float f = 20014999; double d = f; double d2 = 20014999; System.o...
2011-02-23 14:39:17 237
原创 java基础知识回顾(1)float/double 与封装类型Float/Double
float/double 与封装类型Float/Double基本类型:float/double关于 java 的 float 和 double Java 语言支持两种基本的浮点类型: float 和 double 。java 的浮点类型都依据 IEEE 754 标准。IEEE 754 定义了32 位和 64 位双精度两种浮点二进制小数标准。 IEEE 754 用科学记数法...
2011-02-23 14:31:24 757
原创 HashSet \LinkedHashSet\TreeSet 元素顺序
import java.util.Arrays;import java.util.HashSet;import java.util.LinkedHashSet;import java.util.SortedSet;import java.util.TreeSet;public class sdf{ public static void main(String[...
2011-02-23 13:36:03 139
原创 ReentrantReadWriteLock 与 synchronized 性能差别
synchronized 可以认为默任为当前对像加了一把ReentrantLock锁,所以,会出现一个线程读另一个线程不能进入的现像 。这样就造成不论读写,只要线程进入synchronized代码就互斥。 ReentrantReadWriteLock 其实是加了两把锁。写锁排斥读、写 ,读锁只排斥 写,所以能达到并发读的效果。克服了synchronized 读互斥的缺点...
2011-02-11 15:42:23 154
原创 ReentrantReadWriteLock 与 synchronized 性能差别
<br /> <br /> <br />synchronized 可以认为默任为当前对像加了一把ReentrantLock锁,<br />所以,会出现一个线程读另一个线程不能进入的现像 。<br />因为只要线程进入就互斥,不论读写。<br /> <br /><br />ReentrantReadWriteLock 其实是加了两把锁。<br />写锁排斥读、写 ,<br />读锁只排斥 写,所以能达到并发读的效果。<br />克服了synchronized 读互斥的缺点<br /> <br /><br />
2011-02-11 15:40:00 412
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人