- 博客(25)
- 收藏
- 关注
原创 单例模式的懒汉式和饿汉式
1. 懒汉式1.1. 实现方式1.1.1. 并不直接new一个这个类的静态成员变量,而只是声明,给它赋null值而已1.2. 优缺点1.2.1. 在使用时才新建对象容易导致多线程不安全1.3. 改进方式1.3.1. 将这个静态变量声明为volatile,使用synchroni
2016-08-31 18:29:54
417
原创 再看Java集合
1. 遍历集合1.1. 使用Iterator接口提供的默认方法forEach(Consumer action),该方法的参数是一个参数式接口参见: 使用Iterator接口提供的forEachRemaining(Consumer action)类似与上面讲的forEach()方法 (都是consumer)1.1.1.
2016-08-24 20:56:39
454
原创 web容器中的类加载机制
对于运行在JavaEE容器中的Web应用来说,类加载器的实现方式和一般的应用有所不同。不同的web容器的实现机制也有所不同。拿tomcat举例。Tomcat下每个web应用都有一个对应的类加载器实例,该实例也使用代理模式,所不同的是它的加载顺序和一般的类加载器是相反的。我们知道一般的类加载器在加载一个类的时候先将其代理给父加载器,如果父加载器不能加载才自己加载。而tomcat的类加载机制则
2016-08-16 14:58:40
611
原创 用两个栈实现队列
package stackAndQueue;import java.util.Stack;public class TwoStacksQueue { public static void main(String[] args) { TwoStacksQueueReal twoStacksQueueReal = new TwoStacksQueueReal(); for (int
2016-07-10 17:35:32
397
原创 实现getMin功能的栈
第一种方式:import java.util.Stack;public class MyStack1 { public static void main(String[] args) { MyStack1Real myStack1Real = new MyStack1Real(); for (int i = 0; i < 10; i++) { myStack1Real
2016-07-10 16:41:57
525
原创 Java Set集合
1.1. 判断集合中俩个元素相等的规则1.1.1. 俩个对象的HashCode()方法返回值不同1.1.2. equals()方法返回false同时满足(俩个对象的HashCode()方法返回值不同,equals()方法返回false)1.2. HashSet集合中的对象是可以被修改的即使修改之后其hash值和equa
2016-07-03 11:40:42
475
原创 Java遍历集合
1. 使用Iterator接口提供的默认方法forEach(Consumer action),该方法的参数是一个参数式接口2. 使用Iterator接口提供的方法访问集合2.1. boolean hasNext()2.2. Object next()2.3. void remove()3. 使用Itera
2016-07-03 11:32:05
532
原创 Java 加载驱动程序的方法
1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");2. DriverManager.registerDriver(newcom.mysql.jdbc.Driver());3.System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");
2016-06-20 19:57:51
4459
原创 Java 垃圾回收机制
Java垃圾回收机制判断对象是否存活引用计数算法概念给对象添加一个引用计数器,每当有一个地方引用这个对象时,引用计数器加一,引用失效时减一,任何时刻计数器为零的对象就是不可被再次使用的。优点高效缺点循环引用时这个算法失效现在基本不使用了可达性分析算法概念通过一系列称为“GC Roots”的对象作为起始点,从这些对象出发开始向下搜索,搜索经过的路径被称
2016-06-17 16:42:26
467
原创 Java反射需要注意的地方
使用反射生成并操作对象创建对象使用class对象的newInstance()方法先获得构造器,再使用构造器创建对象调用方法先使用class对象获得method对象,然后使用method对象的invoke方法访问成员变量的值先获得field对象然后使用getXX方法,通过反射访问成员变量无视访问控制符访问数组使用反射生成JDK动态代理Java反射获得某个类
2016-06-16 20:45:27
1468
原创 Java 快速排序
public class QuickSortJava { public static void main(String[] args) { int[] aa = { 0, 49, 38, 65, 97, 76, 13, 27 }; new QuickSort().quickSort(aa, 0, 7); for (int result : aa) { System.out.
2016-06-11 14:09:43
382
原创 Java 希尔排序
public class ShellSortJava { public static void main(String[] args) { int[] aa = { 49, 38, 65, 97, 76, 13, 27 }; int[] result = new ShellSort().shellSort(aa); for (int s : result) { System.
2016-06-10 16:55:53
295
原创 Java 直接插入排序
public class InsertionSort { public static void main(String[] args) { int[] aa = { 49, 38, 65, 97, 76, 13, 27 }; int[] result = new InsertionSortJava().insertionSort(aa); for (int s : result) {
2016-06-10 15:58:11
299
原创 JavaString的一些理解
public class StringTest { public static void main(String[] args) { String str1 = "ab"; String str2 = "cd"; // 下面代码输出true System.out.println("abcd" == "ab" + "cd"); String str3 = str1 + str2
2016-05-22 16:30:37
718
转载 struts2接收参数的3种方法
struts2接收参数有3种方法1、第一种:action 设置 相应的变量 在相应的action中设置与将要传进来的参数名相同的变量 eg: 前台传给后台两个参数 name=chance & age = 1,那么后台的action中 要设定这样的变量:private String name; private int age;同时,必须设置set,和 get方法 那么在访
2016-05-17 17:22:45
562
原创 No result defined for action and result input异常
分享一下引发这个上述异常的原因1. 正如提示的,可能没有给相应的action配置相应的result2. 配置package时没有给namesapce属性配置”/”3. 在action中使用了validdate方法,但是没有配置名为input的result页面 上面是我自己遇到的错误,以下摘自网上大神:1. 页面中是否有重名的控件,就是说页面中的控件或隐
2016-05-17 17:18:23
807
转载 Java的可变类与不可变类
primitive(原始)变量: boolean,byte, char, double ,float, integer, long, short jdk的不可变类:jdk的java.lang包中Boolean, Byte, Character, Double, Float, Integer, Long, Short, String. StringBuffer可变类 ja
2016-05-13 17:24:01
523
转载 Java 二叉排序数
package binarySortTree;/* * Java实现二叉排序树 */public class BinaryNode { private int value; private BinaryNode lChild; private BinaryNode rChild; public BinaryNode(int value, BinaryNode l, Bina
2016-05-05 17:46:38
538
原创 JVM学习笔记(一)
(一)Java内存区域 1.程序计数器: 程序计数器是线程私有的; 程序计数器是较小的一块内存区域,可以看作是当前线程所执行的字节码的行号指示器; 2.Java虚拟机栈: Java虚拟机栈中的局部变量表即为常说的栈内存; Java虚拟机栈也是线程私有的; Java虚拟机栈描述的Java方法执行的内存模型; 局部变量表存放了编译时
2016-04-19 16:05:47
344
原创 Java 二分查找
import java.util.*;import java.lang.*;public class BinarySearch { public static int getPos(int[] A, int n, int val) { int mid = 0; int r = n - 1; int l = 0; while (r >= l) { mid = (r
2016-04-15 11:43:48
627
原创 Java volatile Java虚拟机提供的最轻量级同步机制
看下面的代码:package testForThread;/* * volatile变量自增运算测试 * * @author wangGang */public class VolatileTest { public static volatile int race = 0; public static void increace() { race = race + 1;
2016-04-12 14:31:26
579
原创 Java是编译型语言还是解释型语言
1.Java先编译后解释:Java 先将程序编译成字节码,运行时再使用JVM解释字节码。即ava程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。在运行的时候,由JVM将字节码再翻译成机器语言。2.脚本语言是解释型语言,运行时一般必须相应解释器,例如vbscript,javascript,installshield script
2016-04-07 15:31:55
601
原创 Java泛型需要注意的地方
1.泛型的定义格式 例:List strList = New ArrayList(); java7之后可以使用菱形语法:List strList = New ArrayList()2.所谓泛型就是允许在定义类,接口,方法是使用类型形参,这个类型形参将在声明变量,创建对象,调用方法时动态指定。3.任何类,接口都可添加泛型声明,并不是只有集合类才可以4.为一个普通的类(泛型)例如:A
2016-04-03 14:40:17
332
原创 Java集合需要注意的地方
(一)1.集合大致分为四类:Set List Queue Map2.集合类也被称为容器类3.区别于数组,集合类只能保存对象(对象的引用值)4.java集合类主要由俩个接口派生:Collection Map5.Set(无序集合),List(有序集合),Queue都是Collection的子接口6.Java所有集合大致可以分为三类:Set类似于一个罐子,把一个对象放入Set中时
2016-03-14 20:27:33
1461
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人