Java匿名内部类构造原理分析

  学Java 虽然时间不算太长,但是对一些原理性的东西很感兴趣。今天分析了一下匿名内部类调用构造方法的原理,希望高手拍砖。   因为匿名内部类没有名字这个特殊性质,所以我们无从给它指定构造方法,构造方法必须和类名同名,类名都没有,构造方法就...

#
java
#
Java
分享:

Java中正则表达式的应用

  首先定义两个字符串:   String str;   String regex;   其中str是要作判断的字符串;regex是一个标准的正则表达式,当然,它也是一个字符串。   一般的,如果想判断一个字符串是否匹配一个正则表达式,可以这样做:   str = "string";...

#
java
#
Java
分享:

浅谈Java多线程的同步问题

  多线程的同步依靠的是对象锁机制,synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问。   下面以一个简单的实例来进行对比分析。实例要完成的工作非常简单,就是创建10个线程,每个线程都打印从0到99这100个数字,我们希望线程之间...

#
java
#
Java
分享:

Java读取xml文件的四种方法

  xml文件:  Xml代码 <?xml version="1.0" encoding="GB2312"?><RESULT><VALUE>  <NO>A1234</NO>  <ADDR>河南省郑州市</ADDR></VALUE><VALUE>  <NO>B1234</NO>  &...

#
java
#
Java
分享:

Java单例模式:饿汉式和懒汉式的实现

  1、饿汉式 package singleton;/*** 饿汉式单例* @author 蒋明原*/public class HungrySingleton {  /**jvm保证instance只被初始化一次*/  private static HungrySingleton instance = new HungrySingleton();  /**阻止外部使用new实例化...

#
java
分享:

Java堆、栈和常量池(图)

  今天复习了一下这些知识,顺便做了下笔记.   1. 寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.  2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字...

#
java
分享:

Spring事务管理高级应用难点剖析(4)

  多线程的困惑   由于 Spring 的事务管理器是通过线程相关的 ThreadLocal 来保存数据访问基础设施,再结合 IOC 和 AOP 实现高级声明式事务的功能,所以 Spring 的事务天然地和线程有着千丝万缕的联系。   我们知道 Web 容器本身就是多线程的,Web...

#
java
分享:

Spring事务管理高级应用难点剖析(3)(图)

  事务方法嵌套调用的迷茫   Spring 事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务。结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷。   其实这种是不认识 Spring 事务传播机制而造成...

#
java
分享:

Spring事务管理高级应用难点剖析(2)

  应用分层的迷惑   Web、Service 及 DAO 三层划分就像西方国家的立法、行政、司法三权分立一样被奉为金科玉律,甚至有开发人员认为如果要使用 Spring 的事务管理就一定先要进行三层的划分。这个看似荒唐的论调在开发人员中颇有市场。更有甚者,认为每...

#
java
分享:

Spring事务管理高级应用难点剖析(1)

  概述   Spring 最成功,最吸引人的地方莫过于轻量级的声明式事务管理,仅此一点,它就宣告了重量级 EJB 容器的覆灭。Spring 声明式事务管理将开发者从繁复的事务管理代码中解脱出来,专注于业务逻辑的开发上,这是一件可以被拿来顶礼膜拜的事情。但...

#
java
分享:

以简单的方式消除Java冗余

  何为 Lombok?   Lombok 是一种 Java Archive (JAR) 文件,可用来消除 Java 代码的冗长。   我们看这样一个例子,一个标准的 Java bean。一个典型的 Java bean 一般具有几个属性。每个属性具有一个 accessor 和 mutator(getter 和 setter)。通...

#
java
分享:

总结Java函数传值和传引用的问题

  java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。   (一)基本数据类型:传值,方法不会改变实参的值。 public class TestFun {  public static void testInt(int i){    i=5;  }  public static void m...

#
java
分享:

Java递归实现折中算法

public class TestSort<O extends Comparable<O>> {    private O[] data;  public TestSort(O[] data)  {    this.data = data;  } /*** 递归折中算法*/  public int sortByReturn(int low, int high,...

#
java
分享:

Java垃圾收集算法与内存泄露

  1.垃圾收集算法的核心思想   Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非...

#
java
分享:

Java自动装箱后的值比较

  Integer类在自动装箱后,用==来做比较时,并不总是像其他类一样比较对象地址,数值较小时,它比较的是对象值。   当数值超过某个临界点时,它才会比较地址。这个临界点是127和-128。   假设有如下代码:   Java代码 Integer i1 = ...

#
java
分享:

jQuery 的滑动门效果

    上午用了将近半个小时写的一个滑动门,非常好用。     不错,不错。     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transit...

#
java
分享:

Java冒泡排序法

   public class MySort {        public static void main(String[] args) {             MySort sort = new MySort();  &n...

#
java
分享:

Java动态代理

  这几天温习了一下关于java反射的内容,发现JAVA提供了动态代理的默认实现(以前没用到过),主要由Proxy类,InvocationHandler接口(在java.lang.reflect包中)组成。   下面演示一个使用 Proxy 和 InvocationHandler 类实现动态代理的例子,这个动...

#
java
分享:

Java数组实现循环队列

  Java数组实现循环队列,队尾指针为rear,队首指针为front,队尾入队,队首出队,数组空间循环利用。     /**     * QueueArray.java     */    package cn.edu.uib...

#
java
分享:

Java线程同步的方法

  线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题?对于同步,在具体的Java代码中需要完成一...

#
java
分享:
分享到朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号