java
文章平均质量分 59
big up
这个作者很懒,什么都没留下…
展开
-
字节码操作(javassist)
package com.vvvvvv.Test;import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Arrays;import javassist.ClassPool; import javassist.CtClass; import javassist.CtConstructor;原创 2016-08-25 12:16:51 · 617 阅读 · 0 评论 -
javaIO流部分总结
一、 流的分类• 按数据流动方向– 输入流:只能从中读取字节数据,而不能向其写出数据– 输出流:只能向其写入字节数据,而不能从中读取数据• 按照流所处理的数据类型– 字节流:用于处理字节数据。– 字符流:用于处理Unicode字符数据。• 按照流所处理的源– 节点流:从/向一个特定的IO设备读/写数据的流。(低级流)– 处理流:对已存在的流进行连接和封装的流。(高级流)二、 缓冲流•原创 2016-08-02 19:24:12 · 772 阅读 · 1 评论 -
JS
JS概述Javascript是基于对象和事件驱动的脚本语言,主要应用在客户端。 特点: 交互性(信息的动态交互) 安全性(不可以直接访问本地硬盘) 跨平台性(只要是可以解析js的浏览器都可以执行,和平台无关)Java与JavaScript的区别1,JavaScript 是基于对象的,java是面向对象 2,JavaScript只需解析就可以执行,而java需要先编译成字节码文件,再执行。原创 2016-09-09 21:42:59 · 783 阅读 · 0 评论 -
只读设置与同步设置
Collections提供了三种方法:1、emptyXxx() 空的不可变的集合 emptyList() emptyMap() emptySet() 2、singletonXxx() 一个元素不可变的集合 singleton(T o) singletonList(T o) singletonMap(K key, V value) 3、unmodifiableXxx() 不原创 2016-08-19 18:35:37 · 365 阅读 · 0 评论 -
引用分类
引用的分类强引用:引用指向对象,gc运行时不会收。 弱引用:gc运行时及时回收//弱引用 public static void main(String[] args) { //字符串常量池 String str =new String("very good"); //弱引用 管理 对象 WeakReference<String> w原创 2016-08-19 18:33:24 · 259 阅读 · 0 评论 -
HashTable
HashTable与HashMap区别: 应用Properties:继承HashTable ①作用:读写资源配置文件 ②键与值只能为字符串 ③方法: setProperty(String key,String value); getProperty(String key) //如果不存在,返回空 getProperty(String key,String defaultValue)原创 2016-08-19 18:24:09 · 268 阅读 · 0 评论 -
Enumeration接口
作用:作用和Iterator类似。方法:hasMoreElements() nextElements()应用:StringTokenizer实现了Enumeration接口。 里面包含一个方法类似于String的splitpublic static void main(String[] args) { String emailStr="bjsxt@163.com;bjsxt@qq原创 2016-08-19 18:00:28 · 223 阅读 · 0 评论 -
Comparator和Comparable
本文来自http://segmentfault.com/blog/bigdatafinding/1. java.lang.Comparablepublic interface Comparable 接口强行对实现它的每个类的对象进行整体排序。 – 自然排序。类的compareTo称为自然比较方法。这个接口的作用? 若一个类实现了Comparable 接口,实现 Comparable 接口的类的对象原创 2016-08-19 17:34:28 · 367 阅读 · 0 评论 -
利用分拣存储实现1:N
案例1:分割字符串,计算每个单词出现的次数Letter类public class Letter { private String name; //单词 private int count; //次数 //alt+/ public Letter() { } public Letter(String name) { this.name =原创 2016-08-19 16:40:05 · 948 阅读 · 0 评论 -
线程
一,程序、进程和线程的区别程序:指令集,静态的概念:进程:操作系统 调度程序, 动态的概念。线程:在进程内多条执行路径。二,如何实现多线程①继承Thread+重写run(线程体)public class Rabbit extends Thread { @Override public void run() { //线程体 for(int i=0;i<10原创 2016-08-21 18:08:44 · 441 阅读 · 0 评论 -
JAVA之网络编程
网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 一、网络:将不同区域的计算机连接到一起 局域网 城域网 互联网 **二、地址:**IP地址 确定网络上 一个绝对地址 |位置 —>房子的地址 三、端口号: 区分计算机软件的 –>房子的房门 2个字节 0-65535 共65536个 1、在同一个协议下 端口号不能重复 不同协议下可以重复 2、1024以原创 2016-08-22 16:52:58 · 472 阅读 · 0 评论 -
Rhino脚本引擎
一,脚本引擎介绍:使得Java应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在java平台上调用各种脚本语言的目的。 java脚本API是联通JAVA平台和脚本语言的桥梁。 可以把一些复杂异变得业务逻辑交给脚本语言处理,这又大大提高了开发效率。二,相关代码最好在Myeclipse中执行,可以避免很多问题。public static void main(String[] args) t原创 2016-08-24 18:19:10 · 3144 阅读 · 0 评论 -
java之动态编译
一,通过JavaCompiler动态编译public static void main(String[] args) { String str = "public class Demo01 {public static void main(String[] args){System.out.println(\"HaHa,heihei!\");}}"; JavaComp原创 2016-08-23 21:55:38 · 891 阅读 · 0 评论 -
JDBC连接Mysql
JAVA在连接数据库运行时出现了一行这样的红字: Thu Aug 11 20:49:11 CST 2016 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requir原创 2016-08-11 20:52:47 · 3078 阅读 · 0 评论 -
正则表达式
一,正则表达式基本知识:操作复杂的文本:(1)普通字符: 字母,数字,汉字,下划线,以及没有特殊定义的标点符号,都是“普通字符”。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。简单的转义字符: (2)标准字符集合 注意区分大小写,大写是相反的意思 (3)自定义字符集合 []匹配方式,可以匹配方括号中任意一个字符 (4)量词 (5)字符边界 (6)正则语原创 2016-08-11 17:17:53 · 417 阅读 · 0 评论 -
java之设计模式原则
设计模式的六大原则总原则:开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。1、单一职责原则不要存在多于一个导致类变更的原因,也就是说原创 2016-08-11 14:29:24 · 259 阅读 · 0 评论 -
设计模式之行为型模式
一,责任链模式(chain of responsibility)定义:将能够处理同一类请求的对象连成一条链,所提交的请求将沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象。 场景: -打牌时,轮流出牌 -接力赛跑 -大学中,奖学金的审批 -公司中,公文的审批。 /** * 封装请假的基本信息 * @author A原创 2016-08-11 14:27:10 · 487 阅读 · 0 评论 -
设计模式之结构型模式
一,适配器模式对象适配器,类适配器模式。举个例子: 有一台电脑要安装键盘,但是电脑的键盘USB插口与键盘的外接接口不一致,那么就需要一种叫做适配器的东西,将电脑和键盘连接起来,此时适配器就必须具备有键盘一致的接口和与电脑插口一致的接口。/** * 被适配的类 * (相当于例子中的,PS/2键盘) * */ public class Adaptee { public void r原创 2016-08-10 22:02:39 · 536 阅读 · 0 评论 -
JAVA的反射机制
一,反射的初步:动态语言: 程序运行时,可以改变程序结构或变量类型,如:Python,ruby,javascript等等。二,获取类有三种方式:1.xxx.forName(path) 2.xxx.class 3.xxx.getClass()/** * 测试各种类型(class,interface,enum,annotation,primitive type,void)对应的java.lang.原创 2016-08-10 21:11:05 · 263 阅读 · 0 评论 -
迭代器
概念:迭代器(iterator)有时又称游标(cursor),提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。作用:是为容器遍历而生,用以方便的实现对容器内元素的遍历操作。类似于”公交车上的售票员” ,售票员关注公交车上的每个乘客。代码://一个容器可以创建多个迭代对象 而不需要一直new对象 //有三个方法 内部类,局部内部类,匿名内部类 public原创 2016-08-19 16:03:30 · 259 阅读 · 0 评论 -
Java之泛型
为什么要使用泛型JDK1.4以前类型不明确,只能用Object替代,从而失去了自己的类型,取出来之后往往需要转型,效率低下。//例如学生的成绩有多种可能,字符串,整型,浮点型等,此时就应该使用Object,它可以接受任何类型。 public class Student { //成绩 private Object javase; public Student() { }原创 2016-08-19 15:03:00 · 430 阅读 · 0 评论 -
Java容器
一,java当中的层次图如下 二,容器当中接口的特点如下:Collection接口 Collection 表示一组对象,他是集中收集的意思,就是把一组数据收集起来,Collection接口的两个子接口Set,List: Set中的数据没有顺序,不可以重复。 List中的数据有顺序,可以重复。 Collection接口中定义的方法:boolean add(Object ele原创 2016-08-18 15:47:36 · 201 阅读 · 0 评论 -
Date类
在标准Java类库中包含一个Date类。它的对象表示一个特定的瞬间,精确到毫秒。Date()分配一个Date对象,并初始化此对象为当前的日期和时间精确到毫秒)。Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。 Boolean after(Date wh原创 2016-08-17 16:00:22 · 211 阅读 · 0 评论 -
java之命令行参数
命令行public class Test {public static void main(String[] args) { for ( int i = 0; i < args.length; i++ ) { System.out.println("args[" + i + "] = " + args[i]); } } }//运行程序Test.javajava Test lisa原创 2016-08-17 15:36:40 · 682 阅读 · 0 评论 -
数组的常见操作
数组的拷贝System类里也包含了一个static void arraycopy(object src,int srcpos,object dest, int destpos,int length)方法,该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给dest数组的元素。String[] s原创 2016-08-17 15:06:45 · 228 阅读 · 0 评论 -
StringBuilder&StringBuffer&String
StringBuilder:可变字符串,线程不安全,但是效率高。StringBuilder sb = new StringBuilder();//默认字符数组长度为16 StringBuilder sb = new StringBuilder(32); //可以自定义长度StringBuilder常用的函数: append 例如: sb.append(true).append(321).ap原创 2016-08-17 14:36:59 · 349 阅读 · 0 评论 -
java之内部类
一,定义:一般情况,我们把类定义成独立的单元。有些情况下,我们把一个类放在另一个类的内部定义,称为内部类。二, 作用: 内部类提供了更好的封装。只能让外部类直接访问,不允许同一个包中的其他类直接访问。 内部类可以直接访问外部类的私有属性,内部类被当成其外部类的成员。 但外部类不能访问内部类的内部属性。 三,使用场合:由于内部类提供了更好的封装特性,并且可以很方便的访问外部类的属性。所以,通常内部类在原创 2016-08-17 11:56:04 · 279 阅读 · 0 评论 -
java静态绑定&动态绑定详解
程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定静态绑定: 在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。 针对java简单的可以理解为程序编译期的绑定;这里特别说明一点,java当中的方法只有final,static,private和构造方法是前期绑定动态绑定: 后期转载 2016-08-16 19:20:46 · 2315 阅读 · 0 评论 -
接口
一,接口与类和抽象类的区别普通类:只有具体实现抽象类:具体实现和规范(抽象方法) 都有!接口:只有规范!接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。抽象类还提供某些具体实现,接口不提供任何实现,接口中所有方法都是抽象方法。接口是完全面向规范的,规定了一批类具有的公共方法规范。从接口的实现者角度看,接口定义了可以向外部提供的服务。原创 2016-08-16 19:19:28 · 256 阅读 · 0 评论 -
继承,封装,多态,抽象
继承一,为什么需要继承?第一好处:继承的本质在于抽象。类是对对象的抽象,继承是对某一批类的抽象。第二好处:为了提高代码的复用性。二,如何实现继承?使用extends关键字,extends的意思是“扩展”。子类是父类的扩展。三,注意事项1,java中只有单继承(一个类只能有一个直接父类),没有像c++那样的多继承,多继承会引起混乱,使得继承链过于复杂,系统难以维护。 2,java中的多继承可以通过接原创 2016-08-16 12:19:03 · 862 阅读 · 0 评论 -
JAVA之类加载
类加载机制JVM把class文件加载到内存,并对数据进行校验、解析和初始化,最终形成JVM可以直接使用的java类型的过程。 类的加载将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的二进制运行时数据结构,在堆中生成一个代表这个类的java.lang.Class对象,作为方法区类数据的访问入口。 加载类的方式有以下几种: 1)从本地系统直接加载 2)通过原创 2016-08-25 17:41:15 · 417 阅读 · 0 评论 -
设计模式之原型模式
一,原型模式的优势当使用New关键字实例化对象的时候,很复杂,可以考虑原型模式来实现!再则就是New对象比较耗时,克隆(clone)比较节省时间! 二,浅克隆://需要实现Cloneable接口 但是clone是obejct里面的函数 public class Sheep implements Cloneable,Serializable { private String sname;原创 2016-08-07 17:33:02 · 237 阅读 · 1 评论 -
设计模式之建造者模式
建造者模式: public class AirShip { //宇宙飞船类 private OrbitalModule orbitalModule; //轨道舱 private Engine engine; //发动机 private EscapeTower escapeTower; //逃逸塔 public void launch(){原创 2016-08-07 17:25:42 · 276 阅读 · 5 评论 -
设计模式之抽象工厂模式
多个接口,构成了产品族的时候使用抽象工厂模式! //发动机接口 public interface Engine { void run(); void start(); } //发动机实现类://高级发动机 class LuxuryEngine implements Engine{ @Override public void run() { Sys原创 2016-08-07 17:20:27 · 266 阅读 · 8 评论 -
设计模式之工厂模式
一.工厂模式:1.实现了创建者和调用者的分离。2.详细分类:(1)简单工厂模式(2)工厂方法模式(3)抽象工厂模式(4)面向对象设计的基本原则:-OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭。-DIP(依赖倒转原则,Dependence Inversion Principle)要针对接口编程,不要针对实现编程。-LOD(迪米特法则,Law原创 2016-08-07 17:14:07 · 198 阅读 · 0 评论 -
java之异常处理
JAVA是采用面向对象的方式来处理异常的。处理过程: 抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。 捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。 大部分异常都有俩构造器 带详细信息 不带详细信息 异常分类原创 2016-08-18 12:09:53 · 449 阅读 · 0 评论 -
Calendar 日历类
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。 GregorianCalendar 是 Calendar原创 2016-08-18 11:22:50 · 379 阅读 · 0 评论 -
DateFormat类和SimpleDateFormat类
作用:将时间字符串转化为指定格式的时间对象 —> format函数 将指定格式的时间对象转化为时间字符串 —> parse函数关于时间的类之间的关系: PS:DateFormat是一个抽象类,而SimpleDateFormat是它的一个实现类。所以一般都是创建SimpleDateFormat。时间字符串与时间对象相互转化//例子: public class TestDate { pu原创 2016-08-18 11:08:10 · 427 阅读 · 0 评论 -
JDBC技术(mysql)
JDBC是什么JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据。JDBC代表Java数据库连接。JDBC库中所包含的API任务通常与数据库使用:1.连接到数据库2.创建SQL或MySQL语句3.在数据库中执行SQL或MySQL查询4.查看和修改记录Statement & PreparedStatement的区别这个链接介绍十分详细 http://bl原创 2016-08-27 16:10:09 · 873 阅读 · 0 评论 -
关于java中的static和final
static:一,static变量 1.在类中,用static声明的成员变量称为静态变量,它是属于类的,可以通过类直接调用,在类被加载时显示初始化。 2.static变量对于该类的所有对象是共享的。 3.可以利用实例对象调用,但一般都是通过类名调用。 4.普通方法可以使用静态变量。 二,static方法 1.在类中,用static声明的方法称为静态方法。 2.不需要对象,就可以通过类直原创 2016-08-16 11:32:30 · 217 阅读 · 0 评论