学Java 虽然时间不算太长,但是对一些原理性的东西很感兴趣。今天分析了一下匿名内部类调用构造方法的原理,希望高手拍砖。 因为匿名内部类没有名字这个特殊性质,所以我们无从给它指定构造方法,构造方法必须和类名同名,类名都没有,构造方法就...
首先定义两个字符串: String str; String regex; 其中str是要作判断的字符串;regex是一个标准的正则表达式,当然,它也是一个字符串。 一般的,如果想判断一个字符串是否匹配一个正则表达式,可以这样做: str = "string";...
多线程的同步依靠的是对象锁机制,synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问。 下面以一个简单的实例来进行对比分析。实例要完成的工作非常简单,就是创建10个线程,每个线程都打印从0到99这100个数字,我们希望线程之间...
xml文件: Xml代码 <?xml version="1.0" encoding="GB2312"?><RESULT><VALUE> <NO>A1234</NO> <ADDR>河南省郑州市</ADDR></VALUE><VALUE> <NO>B1234</NO> &...
1、饿汉式 package singleton;/*** 饿汉式单例* @author 蒋明原*/public class HungrySingleton { /**jvm保证instance只被初始化一次*/ private static HungrySingleton instance = new HungrySingleton(); /**阻止外部使用new实例化...
今天复习了一下这些知识,顺便做了下笔记. 1. 寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字...
多线程的困惑 由于 Spring 的事务管理器是通过线程相关的 ThreadLocal 来保存数据访问基础设施,再结合 IOC 和 AOP 实现高级声明式事务的功能,所以 Spring 的事务天然地和线程有着千丝万缕的联系。 我们知道 Web 容器本身就是多线程的,Web...
事务方法嵌套调用的迷茫 Spring 事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务。结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷。 其实这种是不认识 Spring 事务传播机制而造成...
应用分层的迷惑 Web、Service 及 DAO 三层划分就像西方国家的立法、行政、司法三权分立一样被奉为金科玉律,甚至有开发人员认为如果要使用 Spring 的事务管理就一定先要进行三层的划分。这个看似荒唐的论调在开发人员中颇有市场。更有甚者,认为每...
概述 Spring 最成功,最吸引人的地方莫过于轻量级的声明式事务管理,仅此一点,它就宣告了重量级 EJB 容器的覆灭。Spring 声明式事务管理将开发者从繁复的事务管理代码中解脱出来,专注于业务逻辑的开发上,这是一件可以被拿来顶礼膜拜的事情。但...
何为 Lombok? Lombok 是一种 Java Archive (JAR) 文件,可用来消除 Java 代码的冗长。 我们看这样一个例子,一个标准的 Java bean。一个典型的 Java bean 一般具有几个属性。每个属性具有一个 accessor 和 mutator(getter 和 setter)。通...
java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。 (一)基本数据类型:传值,方法不会改变实参的值。 public class TestFun { public static void testInt(int i){ i=5; } public static void m...
public class TestSort<O extends Comparable<O>> { private O[] data; public TestSort(O[] data) { this.data = data; } /*** 递归折中算法*/ public int sortByReturn(int low, int high,...
1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非...
Integer类在自动装箱后,用==来做比较时,并不总是像其他类一样比较对象地址,数值较小时,它比较的是对象值。 当数值超过某个临界点时,它才会比较地址。这个临界点是127和-128。 假设有如下代码: Java代码 Integer i1 = ...
上午用了将近半个小时写的一个滑动门,非常好用。 不错,不错。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transit...
public class MySort { public static void main(String[] args) { MySort sort = new MySort(); &n...
这几天温习了一下关于java反射的内容,发现JAVA提供了动态代理的默认实现(以前没用到过),主要由Proxy类,InvocationHandler接口(在java.lang.reflect包中)组成。 下面演示一个使用 Proxy 和 InvocationHandler 类实现动态代理的例子,这个动...
Java数组实现循环队列,队尾指针为rear,队首指针为front,队尾入队,队首出队,数组空间循环利用。 /** * QueueArray.java */ package cn.edu.uib...
线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题?对于同步,在具体的Java代码中需要完成一...