java学习笔记
文章平均质量分 79
wangdongli_1993
这个作者很懒,什么都没留下…
展开
-
jdk安装详解
jdk安装首先去www.oracle.com下载JDK,一般不需要最新的版本,选择稳定使用最多的jdk版本,选择JAVASE个人版(javaEE是企业版),点下一步安装完成,最重要的是配置环境变量:环境配置*JAVA_HOME:就是刚才安装的jdk的路径新建环境变量JAVA_HOME,复制路径粘贴,(无需在后面加分号什么的)*path :windows执行程序时原创 2018-01-29 10:32:08 · 2572 阅读 · 0 评论 -
Java设计模式模式---原型模式
原型模式(prototype)原型模式就是根据模板类复制对象,一般用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据,比如在循环中创建对象区别于用new来创建对象,new创建对象使用的是类的构造方法,new创建出来的对象属性采用的默认值 而通过原型模式创建对象是直接从堆的二进制流中复制,不需要执行类的构造函数,...原创 2018-07-29 22:10:11 · 101 阅读 · 0 评论 -
从java内置类和自定义类比较Comparable接口和Comparator接口实现排序的不同
Comaparable接口---内置类1. 常见的内部类有String,Integer,Date都是实现了java.lang包下的Comparable接口,重写其中的compareTo()方法。例如:String类中重写compareTo()方法首先按照取两个字符串的公共长度进行挨个比较,按照字符顺序返回比较结果,若公共长度下两个字符串一样,则返回长度差比较结果:整数:大于...原创 2018-06-14 17:20:37 · 848 阅读 · 0 评论 -
JDBC(二)------------事务和时间操作date_timestamp
SQL语句分类DML:操作数据库语言,就是我们常说的增删改查SELECT、UPDATE、INSERT、DELETEDDL:数据库定义语言,主要命令有REATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上DCL:控制数据库语言。用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状...原创 2018-07-11 18:02:04 · 564 阅读 · 0 评论 -
JDBC(一)加载数据库驱动_执行SQL语句_获取查询结果集
JDBC 为java开发者使用数据库提供了统一的编程接口,由一组java类和接口组成。是java程序与数据库系统通信的标准API。sun公司不知道各个与数据库连接的程序代码,就自己提供一套api,凡是数据库想与JAVA连接的,数据库厂商自己实现JDBC接口,那么数据库厂商的JDBC实现,我们就叫数据库的数据库驱动,常见的数据库驱动有mysql实现的和oracle实现的。要是用JDBC连接数据库加载...原创 2018-07-11 11:51:15 · 3100 阅读 · 1 评论 -
Java内部类详解
非匿名内部类:编译之后,内部类会生存独自的.class文件,名称为外部类名$内部类名匿名内部类:以外部类名$数字来命名(一)静态内部类 静态内部类可以包含静态成员和非静态成员 静态内部类可以调用外部类的静态方法和静态属性。不可以调用普通方法和普通属性 在不相关的类中,可以直接创建静态内部类的对象(不需要通过所属外部类) 静态内部类和外部类联系很少,也就是命名空间上的联系p...原创 2018-07-10 20:12:50 · 107 阅读 · 0 评论 -
Javassist (二)---------------利用javassist API操作已有类并通过反射调用
已有的一个java bean 类 src下 同一包中package xidian.lili.test.javassist;public class Person { private String name; private int age; public Person(){ } public Person(String name, int age) { super(); this.name...原创 2018-07-10 08:02:38 · 1119 阅读 · 0 评论 -
java的动态性------Java字节码操作
常见的字节码操作类库BECL 是java classing广泛使用的一种框架,可以深入理解JVM汇编语言,难学,需要一些JVM底层指令ASM 轻量级的java字节码操作框架,直接涉及JVM底层操作和指令CGLIB 是基于ASM的的实现,强大性能高Javassist 开源简单 支持java level 和bytecode level来操作字节码 简单,性能相对BECL,ASM性能低下,和CG...原创 2018-07-09 21:02:52 · 679 阅读 · 0 评论 -
Javassist (一)---------------生成新类的字节码
首先需要下载javassist.jar 包,导入到工程中右击->build path->Configue build path->Libraries->add external JARS->找到jar所在的位置import java.io.IOException;import javassist.CannotCompileException;import javass...原创 2018-07-09 20:26:12 · 359 阅读 · 0 评论 -
JAVA 脚本引擎
Java脚本引擎API 实现了java程序和脚本之间的交互,是一类接口,是的java和python ,js等脚本的交互 Rihno是由第三方实现了JAVA引擎接口是的javascript脚本与java交互package lili.xidain.script; import java.io.FileReader;import java.net.URL;import java.uti...原创 2018-07-09 19:42:12 · 7241 阅读 · 2 评论 -
Java设计模式模式 (包括工厂模式xml解析)
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每...原创 2018-07-09 17:58:52 · 1400 阅读 · 0 评论 -
Timer和TimerTask 任务调度
package xidian.lili.thread.timer;import java.util.Date;import java.util.Timer;import java.util.TimerTask;/** * 属于java.util包 闹钟 指定时间执行任务 * schedule函数进行调度 public void schedule(TimerTask task, Date fi...原创 2018-07-09 17:26:34 · 148 阅读 · 0 评论 -
synchronized同步进程+生产者消费者模式(信号灯)解除可能出现的资源问题
多个同步可能会造成资源不正确或者造成死锁 解决办法有生产者消费者模式的信号灯法*synchronized同步 指的是多个进程访问同一个资源,为了确保资源的正确性,进行同步package xidian.lili.threadpro;/** * * 共同的资源是moive * 访问这个资源的两个线程是Player(生产者)和Wathcher(消费者) * wait()释放锁 区别于sleep(...原创 2018-07-09 17:12:41 · 172 阅读 · 0 评论 -
五种单例模式实现懒汉+饿汉+双重检测锁实现+静态内部类改进饿汉式+枚举
核心作用:保证一个类只有一个对象,并提供一个访问该实例的全局访问点package xidian.lili.thread.syn;/** 1.创建单例模式(懒汉式+双重检测锁实现) 构造器私有化 确保外部不能创建对象 创建私有静态变量,先不初始化,用的时候再初始化(资源利用率高了) 创建对外的公共静态方法(加同步,并发效率低)创建对象指向私有静态变量并返回 */pub...原创 2018-07-09 15:43:02 · 323 阅读 · 0 评论 -
synchronized 同步线程 单例设计模式+double checking
package xidian.lili.thread.syn;//单例设计模式public class SynDemo01 { /** * @param args * @throws InterruptedException */ public static void main(String[] args) throws InterruptedException { /*( Jvm j...原创 2018-07-09 15:16:30 · 213 阅读 · 0 评论 -
java学习笔记之变量与数据类型
标识符变量和类的名字 int a = 3;a 就是标识符可是字母,下划线开头的由字母,下划线,数字和$组成的字符集,不能是java中的关键字,如public class等 数据类型基本类型整数 byte 一个字节(8位二进制表示) 表示的范围是-128 ~127 //中间还有0 short 两个字节(16位表示) 表示的范围是...原创 2018-01-29 17:51:04 · 228 阅读 · 0 评论 -
Java设计模式模式---动态代理模式
代理模式代理模式的意图是通过一个接口或者占位符来控制对该对象的访问代理对象通常拥有一个和真实对象相同的接口,通过控制访问将请求合理的转发给底层真实的对象动态代理(需要代理的类实现了接口)通过反射类Proxy以及InvocationHandler回调接口实现的动态代理是通过代理对象包装实际对象,通过代理对象来拦截对实际对象的请求,然后用代理再转发给实际对象,并且允许你在拦截调用之...原创 2018-08-15 21:48:15 · 1729 阅读 · 0 评论