随笔分类 - java基础语法
摘要:通过反射机制获取某个特定的方法 反射是通过 方法名+形参列表来区分各个方法的(形参列表要用class类型。加.class) 示例代码 import java.lang.reflect.Method; import java.lang.reflect.Modifier; public class Re
阅读全文
摘要:通过反射机制获取所有方法(method) import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; /* java.lang.Method */ public
阅读全文
摘要:通过反射机制修改Class的属性值(IO+Properties)动态修改 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.lan
阅读全文
摘要:通过反射机制修改和获取class里的属性值 * 属性对象.set(Object,属性值) 给Object对象中的某个属性赋值(属性对象) * 属性对象.get(Object); 获取Object对象中的某个属性赋值(属性对象) * 属性对象.setAccessible(true); 打破该属性的封装
阅读全文
摘要:反射机制获取某个特定属性的各部分 * 通过属性名(变量名)来获取一个属性整体 例如: Field userNoField=c.getDeclaredField("userNo"); * 代码实例 import java.lang.reflect.Field; import java.lang.ref
阅读全文
摘要:利用反射机制输出整个类 代码实例 import java.lang.reflect.Field; import java.lang.reflect.Modifier; public class ReflectTest05 { public static void main(String[] args
阅读全文
摘要:反射机制获取Class属性 获取属性 方法一: Class对象 . getFields();只能用来获取公开的属性,不能获取有私有的或者受保护的属性 获取属性 方法二: Class对象 . getDeclaredFields() 获取该类中所有的属性包括私有属性和受保护的属性 field.getMo
阅读全文
摘要:反射机制+IO+Propreties动态创建对象 * 使用Properties文件,在文件中通过<key value>的形式保存一下类名,然后通过IO 获取该类名,再然后利用反射机制得到该类名就可以动态的创建对象,不用再程序一开始就写死,这样回更加灵活。 * 示例代码: - Properties文件
阅读全文
摘要:IO+Properties联合应用 - dbinfo文件中可以存放<key=value> - 像dbinfo这样的文件我们叫做配置文件,配置文件的作用是使程序更加灵活 - 一般在程序中可变的东西不要写死,推荐写到配置文件中,运行同样的代码,得到不同的结果 - 像dbinfo这样具有特殊内容的文件我们
阅读全文
摘要:可变长参数 可变长参数只能在形参列表的最后一个,且只能出现一次。 代码实例 import java.util.Date; public class 可变长参数 { public static void main(String[] args) throws ClassNotFoundException
阅读全文
摘要:newInstance() 方法 * 通过反射获取class类型的对象之后,可以通过该对象创建所对应的class类型的对象 * newInstance() 用来创建Class获取的类所表示的一个新实例,其实是调用了所获取 Class(Employee)的无参数构造方法。 代码 public clas
阅读全文
摘要:反射与静态语句块 * 获取class对象与静态语句块的关系 package com.shige.Reflect; import java.nio.channels.ClosedSelectorException; public class ReflectTest02 { public static
阅读全文
摘要:反射 反射的基本概念 反射是由Smith在1982年首次提出,主要是指程序可以访问,检测,修改它本身状态或行为的一种能力。并且能够根据自身行为的状态或结果,调整和修改所描述行为的状态和相关语义。 java 中反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装配,无需再组件之间进行源码
阅读全文
摘要:守护线程 线程分为 用户线程 和 守护线程。 setDeamon(boolean) 方法 :将该线程标记为守护线程或者用户线程。 线程对象.setDaemon(true); //false 表示用户线程,true表示守护线程。 守护线程是这样的 所有的用户线程结束生命周期后,守护线程才会自动结束生命
阅读全文
摘要:死锁 什么是死锁? - 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 死锁出现的原因? (1) 因为系统资源不足。 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。 (2)
阅读全文
摘要:类锁 * 对象锁(synchronized method{})和类锁(static sychronized method{})的区别 - 对象锁也叫实例锁,对应synchronized关键字,当多个线程访问多个实例时,它们互不干扰,每个对象都拥有自己的锁,如果是单例模式下,那么就是变成和类锁一样的功
阅读全文
摘要:线程同步 * 异步编程模型和同步编程模拟的区别? - 有T1和T2 两个线程 > 异步编程模型:T1线程执行T1的,T2线程执行T2的,谁也不等谁 > 同步编程模型:T1和T2 线程执行,当T1线程必须等T2线程执行结束后才能执行,这是同步编程模型 什么时候需要同步? 为了数据的安全 例如:同一银行
阅读全文
摘要:join() 方法 * 合并线程 join()线程合并方法出现在哪,就会和哪个线程合并 (此处是thread和主线程合并), * 合并之后变成了单线程,主线程需要等thread线程执行完毕后再执行,两个栈空间变成了一个栈空间。 * 代码 package com.shige.Thread; /* 关于
阅读全文
摘要:yield() 方法 - Thread.yield() 该方法是一个静态方法, 作用是给同一个优先级的线程让位,阻塞当前线程,但是阻塞时间不可以指定,是随机的。 - Thread.yield() 和 sleep()方法类似,只是.yield()方法阻塞时间是随机的,不可以指定。 代码 package
阅读全文
摘要:中止线程方法一 * 在线程类中定义一个bollean类型的变量,默认值设置为ture,如果想要中断线程,只需要将该boolean类型的变量设置为false就可以了 * 代码 package com.shige.Thread; /* 中止线程 线程启动5s之后中止 */ public class Th
阅读全文

浙公网安备 33010602011771号