- 博客(48)
- 收藏
- 关注
原创 Redis学习笔记
主从同步基础概念--摘自javaEE互联网级轻量框架开发基础读写分离读写分离前提--读操作比写操作频繁很多。在多台服务器中,只有一台主服务器,主服务器负责写入数据,不负责外部读取请求。存在多台从服务器,不负责外部写入请求,只负责同步主服务器数据和响应外部读取请求。主服务器在写入数据后,即刻同步给从服务器。应用程序可以随机读取某一台从服务器的数据,这样就分摊了读数据的压力...
2018-03-23 17:20:58
235
原创 Java多线程 Chapter 7 拾遗增补
Chapter 7 拾遗增补7.1 线程的状态线程对象不同运行时期有不同状态,存State枚举类中。publicstatic enum Thread.StateNEW 使用构造函数后,start之前。RUNNABLE 正在java虚拟机中执行。BLOCKED 受阻塞并等待某个监视器的锁。WAITING 调用wait等函数,无限期等待其他线程执行完。TIMED W...
2018-03-19 14:17:03
205
原创 Chapter 5 Timer
Chapter 5 Timerjava.util.Date;java.util.Calendar;java.util.TimerTask;java.util.Timer;Calendar calendar = Calendar.getInstacnce();calendar.add(Calendar.SECOND,amount);Date date = calendar.get...
2018-03-18 12:33:38
255
原创 Java多线程 Chapter 4 Lock 的使用
Chapter 4 Lock 的使用4.1 使用ReentrantLock类import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.locks.Condition;try{...
2018-03-18 12:31:00
202
原创 Java多线程 chapter 3 线程间通信
chapter 3 线程间通信3.1 等待/通信机制3.1.1实现wait()是object类方法,只能在同步方法或者同步块中调用wait()方法。 执行wait()方法后,当前线程释放锁,在从wait返回前,线程与其他线程竞争重新获得锁。 如果调用wait,没有持有锁,会抛出IllegalMonitorStateException 属于 RuntimeException。不需...
2018-03-18 12:30:39
206
原创 Java多线程 chapter 2 对象及变量的并发访问
chapter 2 对象及变量的并发访问2.1synchronized 同步方法2.1.1方法内的变量为线程安全“非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在“非线程安全”问题,所得结果就是安全的了。实例变量*i*,被包装到不同*Thread*中的*MYThread*多次访问,都是同一个*i*变量2.1.3多个对象多个锁关键字sync...
2018-03-18 12:30:10
177
原创 Java多线程 Chapter 1 Java 多线程
Chapter 1 Java 多线程1.1.进程与线程进程是操作系统结构的基础,它是系统进行资源分配和调度的一个独立单位。 线程是进程中独立运行的子任务。1.2.继承Thread类class Thread extends Runnable{}//Thread(Runnable) 可以传入**Runnableand Thread object//so that we ...
2018-03-18 12:29:47
175
原创 Java编程思想 ch2 一切都是对象
2.1 用引用操纵对象reference 引用 关联 对象。String s 创建对象的引用,而不是对象。String s ="adc" ; s 关联了 对象 "adc".在使用任何引用前,必须为它关联一个对象。2.2 new2.2.1 存储到什么地方 1)寄存器。不可控制。最快。 2)堆栈。RAM,堆栈指针向下分配内存,向上释放内存。对象引用存储...
2018-03-18 12:18:49
284
原创 Java编程思想ch5 初始化和清理
5.1 用构造器初始化 new 类名() 将创建和初始化,绑在一起。5.2 方法重载5.4 this关键字class Banana{void peel(int i)}{}public class BananaPeel{ public static void main(String[] args){ Banana a = new Bana...
2018-03-18 12:18:32
303
原创 ch5 初始化和清理
5.1 用构造器初始化 new 类名() 将创建和初始化,绑在一起。5.2 方法重载5.4 this关键字class Banana{void peel(int i)}{}public class BananaPeel{ public static void main(String[] args){ Banana a = new Bana...
2018-03-18 12:18:06
264
原创 Java编程思想 ch6 访问权限控制
6.1 包:库单元 public class FullQualification{ public static void main(String[] args){ java.util.ArrayList list = new java.util.ArrayList(); } } import java.util...
2018-03-18 12:17:20
160
原创 ch7 复用
7.1 组合将对象引用置于新类中。package Cha7;import static tools.Print.print;class Soap{ private String s; Soap(){ print("Soap()"); s = "Constructured"; } public String toStri...
2018-03-18 12:16:39
295
原创 Java编程思想 ch8 多态
8.1 再论向上转型对象既可以作为本身的类型使用,也可以作为它的基类使用--向上转型。向上转型可能会缩小接口,但不会比基类的接口更小。8.2 绑定8.2.1 方法调用绑定问题:public void tune(Instrument i){ i.play();}编译器如何知道接受的Instrument对象是Wind对象,还是其他子类?### 8.2.1 方...
2018-03-17 19:55:01
203
原创 Java 编程思想ch9 接口
9.1 抽象类和抽象方法抽象类–普通类和接口之间的中庸之道abstract void f() 包含一个或者多个抽象方法的类必须被限定为抽象的。 从一个抽象类继承,并想创建新的类对象,必须覆盖基类的所以抽象方法。9.2 接口接口中方法只有 声明 方法名、参数列表、返回类型。没有具体实现。即,public void f();interface 关键字。implem...
2018-03-17 19:54:37
214
原创 java编程思想 ch10 内部类
嵌套类(nested class)是指被定义在另一个类的内部的类。嵌套类的目的应该只是为它的外围类(enclosing class)提供服务。如果嵌套类将来可能会用于其他某个环境中,它就应该是顶层类,而不是被设计为嵌套类。嵌套类分如下四种: 静态成员类(static member class)、非静态成员类(nostatic member class)、匿名类(anonymous class)和...
2018-03-17 19:54:01
236
原创 Java编程思想 ch11 持有容器
package Cha11;import java.util.*;class Apple{ private static long counter; private final long id = counter++; public long id(){return id;} }class Orange{}/** * Created by YL ...
2018-03-17 19:47:40
217
原创 Java编程思想 ch13 字符串
13.1 不可变StringString对象是不可变的。String类中每个看起来会修改String值的方法,实际都是创建了一个新的String对象。13.2 重载+和StringBuilder重载操作符的意思是一个操作符被用于特定的类时,被赋予了特殊的意义。用于String的“+”和“+=”是 Java中仅有的两个重载过的操作符,而且java不需要程序员重载任何操作符。问题在于...
2018-03-17 19:45:59
230
原创 Java编程思想 ch14 类型信息
key–运行时如何识别类型信息RTTI Runtiem Type Information14.2 Class 对象类是程序的一部分,每个类都有一个Class对象。每当编写并编译了一个类,都会产生一个Class对象(保存在一个同名的.class文件)。为了产生这个类的对象,运行这个程序的Java虚拟机(JVM)将使用被称为“类加载器”的子系统。 动态加载,当程序创建第一个对类的静...
2018-03-17 19:45:26
213
原创 Java编程思想 ch15 泛型
package Ch15;public class Fibonacci implements Generator<Integer> { private int count=0; public Integer next(){return fib(count++);} private int fib(int n){ if(n<2) retu...
2018-03-17 19:45:07
480
原创 Java编程思想 ch16 数组
16.1数组为什么特殊数组和其他种类的容器之间区别有三方面: 效率,类型,保存基本类型的能力。效率:效率最高的存储和访问对象引用的方式。ArrayList弹性带来的开销,使得ArrayList效率比数组低很多。类型:在泛型之间,其他容器都将对象当作Object处理。数组可以持有对象类型。可以通过编译期检查(静态检查)防止插入抽取不当类型。16.2 数组是第一级对象数组标识...
2018-03-17 19:44:46
237
原创 Java编程思想 Ch19 枚举
19.1 基本enum特性package Ch19;import static net.mindview.util.Print.print;import static net.mindview.util.Print.printnb;enum Shrubbery{ GROUND, CRAWLING, HANGING }public class EnumClass { p...
2018-03-16 11:26:27
466
原创 Java编程思想 Ch20 注解
注解(也称元数据)三种标准注解 @Override 表示当前方法覆盖超类中的方法 @Deprecated 使用注解为这个的元素,编译器会发出警告 @SuppressWarnings 关闭不当编译器警告信息20.1 基本语法20.1.1 定义注解package Ch20;import java.lang.annotati...
2018-03-16 11:25:59
187
原创 Java网络编程 Ch13 IP组播
组播地址和组组播–介于点对点传播和广播之间。组播地址(multicast address)是称为组播组(multicast group)的一组主机共享地址。组播组是一组共享一个组播地址的主机。任何发送给该组播地址的数据都会中继给组中所有成员。MulticastSocketpublic class MulticastSocket extends DatagramSoc...
2018-03-16 09:21:21
216
原创 Java网络编程 Ch12UDP
UDP协议DatagramPacket和DatagramSocket。形式,数据报。UDP客户端package Ch12;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class DaytimeUDPClient {...
2018-03-16 09:21:03
313
原创 Java网络编程 Ch11非阻塞IO
package ch11;import java.io.IOException;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.nio.ByteBuffer;import java.nio.channels.Channels;import java.nio.channels.Soc...
2018-03-16 09:20:43
247
原创 Java网络编程 Ch10 secure socket Layer
//定义Java安全网络通信的API抽象类javax.net.ssl;//创建安全socket的工厂类javax.net;//处理SSL所需公开米密匙java.security.cert;com.sun.net.ssl;创建安全客户端Socketpackage Ch10;import javax.net.ssl.SSLSocket;import javax.net...
2018-03-16 09:20:22
257
原创 Java网络编程 Ch9 服务器Socket
基本流程////在指定端口新建ServerSockettry (ServerSocket server = new ServerSocket(1024)){ while (true) { //accept阻塞调用,一直等待 try (Socket connection = server.accept())...
2018-03-16 09:19:39
224
原创 Java网络编程 Ch8 ClientSocket
使用Socket客户端Socket仅实现前四个功能。服务器端实现全部功能。Telnet研究协议用Socket从服务器读取package Ch8;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.Sock...
2018-03-16 09:19:09
258
原创 Java网络编程 Ch7 URLConnection
java.net 中只有URLConnection类。具体子类都在sun.net中。URLConnection和URL的区别:提供对HTTP首部的访问。可以配置发送给服务器的请求参数。还可以向服务器写入数据。读取服务器数据读取首部(response)获取指定首部public String getContentType() public int g...
2018-03-16 09:18:42
212
原创 Java网络编程 Ch6 HTTP
Cookiepackage Ch6;import java.net.CookieHandler;import java.net.CookieManager;import java.net.CookiePolicy;//默认情况下Cookie并不打开,需要启用Cookiepublic class CookieTest { public static void main(S...
2018-03-16 09:18:11
171
原创 TreeMap
//提供了Map的基本方法public abstract class AbstractMap<K,V> implements Map<K,V> {}//提供了有序键,应该实现的方法。public interface SortedMap<K,V> extends Map<K,V> {}public class TreeMap<K,V&...
2018-03-15 15:48:38
98
原创 Set
public interface Set<E> extends Collection<E> {}//继承AbstractCollection是继承基本集合功能,实现Set接口,是添加新的功能。使集合满足Set性质。/*原来的概念有误,一个具体类实现接口或者继承抽象类,必须实现其中全部抽象方法(接口中方法自动为抽象方法)。而一个抽象类实现接口,可以选择实现某些方法和不实现...
2018-03-15 15:48:15
164
原创 List
Listpublic interface List<E>extends Collection<E>Object[] toArray()<T> T[] toArray(T[] a) 如果a长度小了,分配新的数组返回。过大,在a后面补null(list里面不能包含null时才行) toArray(new Object[0])等同于toArr...
2018-03-15 15:47:50
122
原创 LinkedList阅读
/*提供一系列加链和去链私有方法,真正操作链表的函数*/private void linkFirst(E e) { final Node<E> f = first; final Node<E> newNode = new Node<>(null, e, f); first = newNode; i...
2018-03-15 15:47:31
167
原创 HashMap
//Map接口提供了一系列实现类Map需要实现的基本方法。public interface Map<K,V> { Set<K> keySet(){}; Collection<V> values(){}; //Map是接口,Entry也是接口。所以是Map.Entry<> Set<Map.Entry<K, V>...
2018-03-15 15:47:09
132
原创 Collection综述
Collection继承Iterator接口。提供了集合框架的所有抽象方法。AbstractCollection 实现Collection接口,将Collection的抽象方法具体实现为List和Set需要的形式。主要提供 集合基本性质的方法,如遍历,大小,以及与其他集合作用的方法。而List和Set接口实现Collection,并修改为该数据结构需要的模型,即提供适合该数据结构实现的ad...
2018-03-15 15:46:37
172
原创 AbstractCollection源码阅读
/*This class provides a skeletal implementation of the <tt>Collection</tt> interface, to minimize the effort required to implement this interface. */public abstract class AbstractCollecti...
2018-03-15 15:46:07
166
原创 IDEA部署Web项目到Tomcat过程及注意细节
Servle/jsp包的问题 问题 : IDEA新建的WebApp项目,新建Servlet会报错找不到javax.servlet… 解决方法: 在project Structure中找到Libraries,添加tomcat安装目录下/lib的如图所示两个包。.Artifact 打包的问题 请看该链接博文 http://blog.csdn.net/xlgen157387/artic...
2018-03-14 08:35:31
401
原创 Ch5 URL和URI
URI语法模式:模式特定部分.模式即协议特定部分:权威机构/路径?query 当前标准模式 data 链接中包含Base64编码 file 本地磁盘上的文件 ftp FTP服务器 http 使用HTTP的服务器 mailto 电子邮件地址 magnet 可以通过对等网络比如BitTorrent下...
2018-03-13 11:18:46
409
原创 Java网络编程 Ch4 Internet地址
IPv4 4字节长,152.19.134.132 点分四段格式IPv6 16字节长。区分地址和主机名地址—>DNS<—–主机名InetAddress类 getByName() 提供一个IP地址串作为参数,为会请求的参数创建一个InetAddress对象,而不检查DNS(可能会为实际上不存在也无法链接的主机创建InetAddress对象)。对象的主机名初始设置为这个字符...
2018-03-13 11:18:27
273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人