Java基础
Running-小猛
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
implements 和 extends的区别
extends可以理解为全盘继承了父类的功能implements可以理解为为这个类附加一些额外的功能举个例子,Animal是一个父类,cat,dog,bird,insect都extends了Animal,但是cat,dog,bird还可以implements比如run,shout这些interface,bird,insect可以implements比如fly这些interfaceextend...转载 2018-06-20 08:59:26 · 225 阅读 · 0 评论 -
Latch设计模式
什么是Latch设计模式? 做程序员是个苦差事,并不像外人看到的那么光鲜,加班熬夜是家常便饭的事,Alex在结束了连续一个月的加班之后决定约上几个同为程序员的好朋友(jack,Gavin,Dillon)打算在周末的时候放松一下,他们相约在周六的早上十点在城市广场北口见面,然后一同前往郊区的“同心湖”垂钓、烧烤,最后登上本市的最高建筑‘汇聚塔’,计划了出游路线之后,每个人或乘坐公交,或搭...原创 2019-01-16 08:52:27 · 661 阅读 · 0 评论 -
Java读取txt文件和写入txt文件
package com.nickwong.code;import java.io.*;/** * Created by Nickwong on 31/07/2018. * 根据1-8楼的建议,优化了代码 */public class ReadTxt { public static void main(String args[]) { readFile();...原创 2019-01-14 19:54:21 · 2805 阅读 · 0 评论 -
单例设计模式的设计——枚举方式改进型
package SingleInstanceModel;/** * Created by JYM on 2019/1/8 * 单例模式:枚举方式 * 下面的代码程序是对枚举方式的单例模式进行改进,增加懒加载的特性,类似于Holder的方式。 * */public class Singleton_5_improve{ //实例变量 private byte[] d...原创 2019-01-09 09:00:18 · 269 阅读 · 0 评论 -
单例设计模式——枚举方式
package SingleInstanceModel;/** * Created by JYM on 2019/1/8 * 单例模式:枚举方式 * 使用枚举的方式实现单例模式是《Effective Java》作者力推的方式,在很多优秀的开源代码中经常可以看到使用枚举方式实现单例模式 * 的(身影),枚举类型不允许被继承,同样是线程安全的且只能被实例化一次,但是枚举类型不能够懒加载,...原创 2019-01-09 08:59:08 · 2044 阅读 · 0 评论 -
单例设计模式的设计——Holder方式
package SingleInstanceModel;/** * Created by JYM on 2019/1/8 * 单例模式:Holder方式 * Holder的方式完全是借助了类加载的特点。 * *///final 不允许被继承public final class Singleton_4{ //实例变量 private byte[] data = ...原创 2019-01-09 08:58:11 · 2655 阅读 · 1 评论 -
单例设计模式的设计——Volatile+Double-Check
package SingleInstanceModel;import java.net.Socket;import java.sql.Connection;/** * Created by JYM on 2019/1/8 * 单例模式:Volatile+Double-Check * Double-Check虽然是一种巧妙的程序设计,但是有可能会引起类成员变量的实例化connectio...原创 2019-01-09 08:57:12 · 236 阅读 · 0 评论 -
单例设计模式的设计——Double-Check
package SingleInstanceModel;import java.net.Socket;import java.sql.Connection;/** * Created by JYM on 2019/1/8 * 单例模式:Double-Check * Double-Check是一种比较聪明的设计方式,他提供了一种高效的数据同步策略,那就是首次初始化时加锁,之后则允许...原创 2019-01-09 08:55:59 · 272 阅读 · 0 评论 -
单例设计模式的设计——懒汉式+同步方法
package SingleInstanceModel;/** * Created by JYM on 2019/1/8 * 单例模式:懒汉式+同步方法 * 懒汉式的方式可以保证实例的懒加载,但无法保证实例的唯一性。*///final不允许被继承public final class Singleton_2{ //实例变量 private byte[] data ...原创 2019-01-09 08:55:01 · 347 阅读 · 0 评论 -
单例设计模式的设计——懒汉式
package SingleInstanceModel;/** * Created by JYM on 2019/1/8 * 单例设计模式:懒汉式 * 所谓懒汉式就是在使用类实例的时候再去创建(用时创建),这样就可以避免类在初始化时提前创建 * *///final 不允许被继承public final class Singleton_1{ //实例变量 pri...原创 2019-01-09 08:53:57 · 340 阅读 · 0 评论 -
单例设计模式的设计——饿汉模式
package SingleInstanceModel;/*** Created by JYM on 2019/1/8* 单例模式下的:饿汉模式* *///final不允许被继承public final class Singleton{ //实例变量 private byte[] data = new byte[1024]; //在定义实例对象的时候直接初...原创 2019-01-09 08:52:56 · 245 阅读 · 3 评论 -
Balking设计模式
什么是Balking设计模式? 多个线程监控某个共享变量,A线程监控到共享变量发生变化后即将触发某个动作,但是此时发现有另外一个线程B已经针对该变量的变化开始了行动,因此A便放弃了准备开始的动作,我们把这样的线程间交互成为Balking(犹豫)设计模式。其实这样的场景在生活中很常见,比如你去饭店吃饭,吃到途中想要再点一个小菜,于是你举起手示意服务员,其中一个服务员看到了你举手正准备走...原创 2019-01-14 15:37:51 · 904 阅读 · 0 评论 -
Guarded Suspension设计模式
什么是Guarded Suspension设计模式 Suspension是“挂起”、“暂停”的意思,而Guarded则是“担保”的意思,连在一起就是确保挂起。当线程在访问某个对象时,发现条件不满足,就暂时挂起等待条件满足时再次访问,这一点和Balking设计模式刚好相反(Balking在遇到条件不满足时会放弃)。 Guarded Suspension设计模式是很多设计模式的基...原创 2019-01-11 15:50:18 · 380 阅读 · 0 评论 -
Future设计模式
背景先给你一张凭据 假设有个任务需要执行比较长的时间,通常需要等待任务执行结束或者出错才能返回结果,在此期间调用者只能陷入阻塞苦苦等待,对此,Future设计模式提供了一种凭据式的解决方案。在我们日常生活中,关于凭据的使用非常多见,比如你去某西服手工作坊想订做一身合体修身的西服,西服的制作过程比较漫长,少则一个礼拜,多则一个月,你不可能一直待在原地等待,一般来说作坊会为你开一...原创 2019-01-11 14:52:38 · 267 阅读 · 0 评论 -
不可变对象设计模式
不可变对象设计模式线程安全性:所谓共享的资源,是指在多个线程同时对其进行访问的情况下,各线程都会使其发生变化,而线程安全性的主要目的就在于在受控的并发访问中防止数据发生变化。除了使用synchronized关键字同步对资源的写操作之外,还可以在线程之间不共享资源状态,甚至将资源的状态设置为不可变。在本章中,我们将讨论如何设计不可变对象,这样就可以不用依赖于synchronized关...原创 2019-01-10 19:40:13 · 509 阅读 · 0 评论 -
读写锁分离设计模式
场景描述: 在多线程的情况下访问共享资源,需要对资源进行同步操作以防止数据不一致的情况发生,通常我们可以使用synchronized关键字或者显示锁。对资源的访问一般包括两种类型的动作——读和写(更新、删除、增加等资源会发生变化的动作),如果多个线程在某个时刻都在进行资源的读操作,虽然有资源的竞争,但是这种竞争不足以引起数据不一致的情况发生,那么这个时候直接采用排他的方式加锁...原创 2019-01-10 15:41:31 · 391 阅读 · 0 评论 -
Java.util包简单总结
Java.util包简单总结1. util包的框架常用的集合类主要实现两个“super接口”而来:Collection和Map。1.1 Collection有两个子接口:List和Set List特点是元素有序,且可重复。实现的常用集合类有ArrayList、LinkedList,和Vector(线程安全)。Set特点是元素无序,不可重复。实现的常用集合类有HashSe...转载 2019-01-04 09:46:17 · 502 阅读 · 0 评论 -
Java中的compareTo()函数的用法
在Java编程中,我们会偶尔遇到字符串大小比较的问题,compareTo()方法很简单的实现这种功能。该方法用于判断一个字符串是大于、等于还是小于另一个字符串。判断字符串大小的依据是根据他们在字典中的顺序决定的。相应的语法: str1.compareTo(str2);其返回值是一个int类型值。若str1等于参数字符串str2字符串,则返回0;若该str1按字典顺序小于参数字符串str2,则返回值...原创 2018-06-20 15:05:57 · 1793 阅读 · 0 评论 -
Thread-Per-Message
什么是Thread-Per-Message模式 Thread-Per-Message的意思是为每一个消息的处理开辟一个线程使得消息能够以并发的方式进行处理,从而提高系统整体的吞吐能力。这就好比电话接线员一样,收到的每一个电话投诉或者业务处理请求,都会提交对应的工单,然后交由对应的工作人员来处理。每个任务一个线程:package MutilThreadModel.Thread...原创 2019-01-16 18:46:18 · 288 阅读 · 0 评论
分享