`
文章列表
java.lang.ThreadLocal类的实例,为每一个使用该实例的线程提供一个变量的副本,在线程的内部共享这个副本,其他线程无法获取该线程的变量,这就好像该线程独立拥有该变量一样。 一、结构介绍 ThreadLocal类定义中有一个静态内部类(详见http://forestqqqq.iteye.com/blog/1906653),即ThreadLocalMap类。每一个线程(Thread)内部都有一个ThreadLocal.ThreadLocalMap对象,   public class Thread implements Runnable { //…… ThreadLoca ...
JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna)。JNA提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native function的映射。 JNA包: https://maven.java.net/content/repositories/releases/net/ ...
转载自:http://www.cnblogs.com/zhenjing/p/java_code.html   1. 只有字符到字节或者字节到字符的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符。unicode体系采用唯一的码点表示唯一的字符信息,码点的存储方式有UFT-16、UTF-8 等等。:  A String represents a string in the UTF-16 format in which supplementary characters are represented bysurrogate pairs (see t ...
下面使用以下代码讲解成员内部类的继承 package test7; //第一步,引入内部类定义。无论该类是否如子类在同一个包下还是同一个文件下。 import test7.Person.Address; public class ExtendsInnerClassTest { public static void main(String[] args) { Person p1 = new Person("forestqqqq",20); new AddressDetail(p1,"TianJin" ...
第一 成员内部类 定义在另一个类的内部,而且与成员方法和属性平级叫成员内部类。 1成员内部类中不能存在static关键字,即,不能声明静态属性、静态方法、静态代码块等。 2在成员内部类中访问外部类的成员方法和属性,要使用“外部类名.this.成员方法”和“外部类名.this.成员属性”的形式 3创建成员内部类的实例使用“外部类名.内部类名 实例名 = 外部类实例名.new 内部类构造方法(参数)”的形式。在创建内部类实例之前需要先创建外部类的实例对象。   package test5; public class MyTest { public static v ...
很全面的工具类PropertiesTool,主要功能如下: 1,可以文件路径、字节流、字符流和编码等加载内容, 如loadFile(String filename,String encoding),loadStream(InputStream stream,String encoding)和loadReader(Reader reader) 2,在获取value时,可以主动将数据进行判断和类型转换, 如getStrings(String key,String regex),getCharacter(String key),getBoolean(String key)getIntege ...
第一 普通的代码块 就是我们说说的代码块,它无论定义在构造方法的哪个地方(或前或后),总是在构造方法之前运行,每定义一个实例对象,就会运行一次。如果父类中也有代码块则运行顺序如下: 1 父类普通代码块 2 父类构造方法 3 子类普通代码块 4 子类构造方法 例如: public class CodeBlockTest { public static void main(String[] args) throws Exception{ new Child(); System.out.println("刚刚创建了一个实例"); ...
1修饰类、方法和属性的访问控制修饰符有四种:public、protected、default(默认没有修饰符修饰时的状态),private 2四种修饰符的简单说明 public:可以再任意位置访问 protected:该类的包外子类中可以访问,同一包下的类可以访问 default:同一包下的类可以访问 private:类自身中可以访问 3四种修饰符的访问权限范围的大小:public > protected > default > private 4四种修饰符的访问权限范围示意:       包外的类(非子类) 包外的类(子类) 同一包下的类 ...
第一 所有的类都有构造方法 1如果程序员没有给类显式的定义构造方法,则系统默认为该类定义一个默认的无参构造方法。 2如果程序员定义的类中有若干有参构造方法,则系统不再为该类定义无参构造方法。 第二 子类不能继承父类的构造方法 第三 子类在创建时,必须默认、直接或间接的调用父类的构造方法,以使父类内容先于子类创建和初始化 1如果父类未定义任何构造方法(系统会定义一个默认的无参构造方法)或者定义的构造方法中有一个是无参构造方法,则对子类构造方法没有影响。因为创建子类时会默认调用父类的无参构造方法。 例如: public class ExtendsTest { p ...
第一 继承Thread类 步骤: 1继承Thread类; 2重写run方法 3调用start启动线程 public class ThreadTest { public static void main(String[] args) { ExtendsThreadTest test = new ExtendsThreadTest(); //第三步,启动线程 test.start(); } } //第一步,继承Thread类 class ExtendsThreadTest extends Thread{ ...
下面用Test类为例讲解static的使用方法: class Test{ public static int a =1; public final static int b; static { b = 200; System.out.println("这是静态代码块"); } public static void print(){ //这是错误的,静态方法中不能有this和super ...
第一 final修饰类 Final修饰的类没有子类,因为它不能被继承,例如java.lang.String类。Final类的所有方法都是final方法。 注意:final不能跟abstract关键字连用,因为重现的类或者方法必须被继承和覆盖才有意义。 第二 final修饰方法 Final方法可以被子类继承,但是不能被子类重写。有人说,父类的private方法是final方法,不过我不这么认为。因为,父类的private方法可以被子类继承,也能被子类覆盖。 第三 final修饰属性 Final属性属于常量,只能被初始化一次,之后不能改变。初始化的方式有两种: 1在声明时初始化 ...
本人使用Oracle时,遇到以下情况:需要输出多列数据,但是这些数据却分布在多行的同一列中。所以本人就想出了以下这种方式进行合并查询。 示例是一个GRADES表,记录每个学生的姓名、课程和分数,分数都放在GRADE列中,现在要将各个科目的分数放到一行中显示怎么办? 1,创建表GRADES,并插入数据 CREATE TABLE GRADES ( ID NUMBER PRIMARY KEY, NAME VARCHAR2(10) NOT NULL, COURSE VARCHAR2(10) NOT NULL, GRADE NUMBER NOT NUL ...
一,饿汉式单例 //饿汉式单例1 public class Singleton1 { private static final Singleton1 instance = new Singleton1(); private Singleton1(){} public static Singleton1 getInstance(){ return instance; } } //饿汉式单例2 class Singleton{ private static class Single{ static final Singleton instance = ...
注:默认认为反射代码与Worker类不在同一个包下,下面的“使用条件”才是正确的。   下面以Worker类来讲解Java反射的三种用途(创建实例,调用方法,访问属性): Worker类如下:   class Worker{ /*两个public构造方法*/ public Worker(){ count++; } public Worker(String name){ super(); this.name = name; } /*两个private构造方法*/ private Worker(String name,int age){ ...
Global site tag (gtag.js) - Google Analytics