Java笔记
文章平均质量分 65
神气的猫
这个作者很懒,什么都没留下…
展开
-
毕向东老师Java视频笔记-集合(未完)
Java集合框架总结:List--LinkedList--ArrayList--VectorSet--HarshSet--TreeSetMap--HashMap--TreeMap集合框架工具类:Collections,ArraysJDK1.5新特性原创 2016-02-29 12:48:34 · 502 阅读 · 0 评论 -
面向对象特征
Copyright @BJTShang面向对象基础1.面向对象概述面向对象三个特征:封装(Encapsulation),继承(Inheritance),多态(Polymorphism)。(都是什么样的表现形式?)开发,其实就是找对象,建立对象,使用对象,并维护对象之间的关系类和对象的关系: 类:对事物的描述;属性和行为共同组成了类的成员(成员变量和成员方法,Java中方法就是函数)对象:原创 2016-02-24 16:48:17 · 194 阅读 · 0 评论 -
修炼Java开发技术,学习笔记:原型模式
作为一种另类的对象创建模式,原型模式是指: 使用原型实例来指定创建对象的种类,并通过拷贝这些原型创建新的对象。使用原型模式创建对象比直接new一个对象在性能上要好的多,因为Object类的clone方法是一个本地方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显。使用原型模式的另一个好处是简化对象的创建,使得创建对象就像我们在编辑文档时的复制粘贴一样简单。显然,核心是如原创 2016-04-02 21:24:20 · 181 阅读 · 0 评论 -
修炼Java开发技术,学习笔记:原型模式的应用-群发广告邮件
ProtoType Pattern 原型模式的简单程度是仅次于单例模式的: 实现原型模式只需要满足: 1. 原型类实现Cloneable接口; 2. 原型类中实现覆盖Object类的clone()方法;例如我们的业务需求是:给每个客户发送一封定制广告邮件, 那么首先需要一个广告模板,然后从数据库中取出客户的定制信息,使用模板生成一份完整的邮件,发送出去。import java.util.Ra原创 2016-04-02 22:45:20 · 214 阅读 · 0 评论 -
Java 内存管理-(堆(heap)、栈(stack)和方法区(method)
内存管理概述参考:http://www.cnblogs.com/dingyingsi/p/3760730.htmlJava内存主要分为三个区栈区:每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。堆区:原创 2016-03-11 18:57:56 · 198 阅读 · 0 评论 -
修炼Java开发技术,学习笔记:架构中的设计原则
在进行软件架构工作时,需要遵循面向对象的设计原则,注意体会这些原则在解决“变化”和“依赖”问题中的效果。前人共总结出7条通用的原则(降低耦合性,提高扩展性):单一职责原则(SRP);里氏替换原则(LSP);依赖注入原则(DIP);接口分离原则(ISP);迪米特原则(LOD);开闭原则(OCP);优先使用组合而不是继承原则;1. 单一职责原则(Single Responsibilty原创 2016-03-27 16:34:30 · 177 阅读 · 0 评论 -
修炼Java开发技术,学习笔记:工厂模式
设计模式非常重要,是理解设计架构的基本功,也是编写出优雅健壮代码不可或缺的技能。接下来会介绍23中Java中的设计模式,每一种模式必须要知道: 1,是什么样的结构; 2,在什么情况下用,有什么样的优缺点; 3,有哪些注意事项;第一种:工厂模式—为创建对象提供接口1. 结构工厂模式分为: * 简单工厂(Simple Factory)模式; * 工厂方法(Factory Method)模式;原创 2016-03-27 23:37:42 · 145 阅读 · 0 评论 -
覆盖(重写)、重载以及多态的概念
override->重写(=覆盖)、overload->重载、polymorphism -> 多态override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。多态一般应用于重写。 在面向接口的编程中,多个类实现同一个接口(或者父类),通过接口引用调用多个对象,根据各个对象类中实现(重写)的不同的方法,实现同一个引用,可以实现多种状态的目的。原创 2016-04-27 17:55:28 · 368 阅读 · 0 评论 -
泛型用法-泛型擦除,?,extends,以及super关键字的应用
泛型只在编译时期有效,编译后的字节码文件中不存在泛型信息,这一点对于我们判断泛型使用规范很有帮助。例如通常情况下,方法中接受的参数列表如果被写为public void save(List<? extends Number> list){ System.out.println(list.get(0));}就代表,传入的List集合中元素,必须是数字包装类,例如Integer,Double,F原创 2016-04-27 20:59:59 · 227 阅读 · 0 评论 -
Struts 2 学习(一)从自定义myStruts到入门概念
一. 第一部分自己尝试模仿一个myStruts框架有利于理解和使用别人的成熟框架。MVC模式:Model – JavaBeanView – JSPControlControl,控制器Servlet起到控制器的作用获取请求数据,封装;调用Service()处理业务逻辑;跳转(转发/重定向)为何要用框架?传统的MVC开发:每一个模块都要写servlet,并且在web.xml中配置;跳原创 2016-04-30 22:10:04 · 296 阅读 · 0 评论 -
简单的Java网页爬虫
基础是Java正则表达式,将正则表达式封装成Pattern对象后使用匹配器,与需要获取的数据相关联import java.io.*;import java.net.*;import java.util.regex.*;public class WebCrawl { public static void main(String[] args)throws Exception{原创 2016-03-09 17:09:01 · 203 阅读 · 0 评论 -
修炼Java开发技术,学习笔记:对比建造者模式和抽象工厂模式
总的来说,虽然同为创建类设计模式,建造者模式比抽象工厂模式多了一个设计者的角色,用于创建复杂产品。适用于产品中属性顺序不同,产生的产品截然不同的情况。下面,首先从较简单的抽象工厂模式开始解释:1. 抽象工厂模式抽象产品接口;具体产品类;抽象工厂接口;具体工厂类;客户端;注意理解产品族和产品等级(结构)的关系,抽象工厂模式就是为了根据客户的指令,创建一个产品族(相互之间有关联或者依赖关系)原创 2016-04-01 20:59:34 · 433 阅读 · 0 评论 -
毕向东老师Java视频笔记-IO流 FileReader类FileWriter类以及文件复制
一. 概论字符流和字节流字节流两个基类:InputStream类OutStream类字符流Reader类Writer类1. Writer类(character stream)Witer类的方法基本上都要子类去实现,因为子类规定了特定的功能,或者提高了效率;a. 例如,常见的FileWriter类import java.io.*;public class原创 2016-03-02 16:31:17 · 212 阅读 · 0 评论 -
修炼Java开发技术,学习笔记:单例模式
很多时候,我们需要应用中只有一个该类的实例,例如一些全局计数器,如果实例不止一个,势必造成冲突错误。实现单例,在客户程序端可以实现的办法,可以是做一些“Try-Use”的工作,如果有,拿来用,如果没有,创建一个。但是这样的方式,对客户端来说,管理混乱,封装性不好,也不安全。因此,通常是使用在类加载的时候,就实现单例的目的。 当然,单例也有它的作用范围,目前Java中一个单例的范围是一个ClassL原创 2016-03-29 17:02:28 · 218 阅读 · 0 评论 -
Java线程-毕向东老师视频回顾 及 继承Thread和实现Runnable的区别
我们知道创建线程有两种方法:继承Thread类,和实现Runnable接口,有什么区别呢? 首先,我们要回顾一下Java线程的知识:第三部分 多线程编程1. Java线程模型线程是进程中的内容,是程序中的执行路径,或者叫一个控制单元;线程在控制着进程的执行;Java VM启动时会有一个进程java.exe;其中至少有一个线程负责java程序的运行,该线程存在于main()方法中,称之为主线程;原创 2016-03-05 20:08:13 · 158 阅读 · 0 评论 -
Java中 set()和get()方法
set() get()方法: 使得可以访问类内部的私有化(private)成员属性; 首先:为何要私有化数据?提高安全性,使得外部不能够直接访问,也是封装的一种表现形式;其次,为何又要设置方法来使用数据(使用数据的两种方式:设置:set(),获取:get())?可以在方法中对数据的使用制定规则(逻辑判断语句)!从而提高代码的健壮性,安全性。将不需要对外提供的内容(通常是属性)隐藏,提供公共(p原创 2016-02-19 17:52:20 · 651 阅读 · 0 评论 -
Java 面向对象基础
Copyright @BJTShang面向对象基础1.面向对象概述面向对象三个特征:封装,继承,多态。(都是什么样的表现形式?)开发,其实就是找对象,建立对象,使用对象,并维护对象之间的关系类和对象的关系: 类:对事物的描述;属性和行为共同组成了类的成员(成员变量和成员方法,Java中方法就是函数)对象:java在堆内存中使用new操作符建立的实体;存储对象的属性和行为;2. 封装s原创 2016-02-20 19:18:29 · 166 阅读 · 0 评论 -
Java 中如何从指定的几个整数中产生随机数
常见的获得某个范围内的随机整数很容易:(int)(Math.random()*n+m)//产生范围[m,n+m-1]内的整数;如何从(0,2,3)这三个数中获得随机?int[] arr= {0,2,3};int randomNumber = arr[(int)(Math.random()*3)];还有什么更好的办法呢?原创 2016-03-06 20:53:49 · 874 阅读 · 0 评论 -
毕向东老师Java视频笔记-网络部分总结
一. 概述三要素:IP地址;套接字;通信协议1. IP地址四段组成,每段一个字节(最大255);本地回环地址:127.0.0.1:可以用来测试网卡是否正常;局域网保留:168.192.xxx.xxx;IP地址不够用: 通过子网掩码共用同一个公网IP地址;IPv6;2. 逻辑端口-套接字(0-65535)系统默认0-1024 web服务-80Tomcat-80原创 2016-03-07 12:51:38 · 163 阅读 · 0 评论 -
从qq号验证说Java正则表达式的必要性
为什么要使用正则表达式:使用基本的字符串操作,判断qq号是否合法:public class QQCheck { public static void main(String[] args) { String qq = "12121212"; if(qq.length()>=5 && qq.length()<=15){ if(!qq.st原创 2016-03-09 09:53:33 · 190 阅读 · 0 评论 -
Java IO流基础总结(一)-File字符字节流、Buffered字符字节流
1. 概述注意判断“流”的方向的主体是程序本身,也就是说:将数据从外界传递到程序内使用,是输入流,对应Reader和InputStream;将数据从程序输出到外界,是输出流,对应Writer和OutputStream;四个抽象类: 字符流:Reader,Writer 字节流:InputStream,OutputStream2. InputStream/OutputStream/Reader原创 2016-03-08 17:49:46 · 258 阅读 · 0 评论 -
Java Web数据库连接池DBCP和D3P0技术
目标:连接池一. 自定义连接池使用DBUtils组件更新和查询数据库QueryRunner qr = new QueryRunner();qr.query(con,sql,rsh);//rsh:ResultSetHandler接口,可以使用自定义实现类,改写handle()方法;也可以使用封装的实现类。List<Person> list = qr.query(con,sql,new BeanL原创 2016-04-23 21:43:11 · 479 阅读 · 0 评论