Java
s3395719
这个作者很懒,什么都没留下…
展开
-
Java设计模式——观察者模式
概述观察者模式是把两个对象分为被观察者与观察者,它们是一对多的关系,当被观察者状态改变时,所有的观察者都能收到通知。类似于微信公众号,可以把文章推送到关注了这个公众号的用户。举例现在看SSM/SSH框架,xxxService,xxxDao…尼玛这不就观察者模式?在Java Swing中,如JButton的监听器,button.addListenner(new XXXListenner());单击、双原创 2017-11-08 13:54:24 · 270 阅读 · 0 评论 -
Java设计模式——命令模式
概述命令模式是把“请求动作或操作”封装成一个“命令对象”,“调用者”通过该“命令对象”把“命令”发送到“接受者”执行“操作”。(看不懂没关系,我刚看命令模式的介绍也不懂,看例子很容易明白了)例子举一个来自《Head First设计模式》的例子:“在餐厅点餐”场景:顾客到餐厅点餐,写菜单给服务员,服务员把菜单给厨师,厨师按照菜单要求做菜。人物:顾客(发起者)、服务员(调用者)、厨师(接收者)。分析:原创 2017-12-14 12:21:08 · 284 阅读 · 0 评论 -
Java设计模式——外观模式
外观模式非常的简单,很容易理解。设计目的: 把功能复杂的系统接口,封装成简单易用的接口直接引用 《Head First》里的类图下面是一个复杂的家庭设备系统,有爆米花机、屏幕、投影仪、DVD等设备。可能截图并不是很清晰,但是没关系,只需要知道这个系统很复杂就行。 从类图可以看出了,设备系统有很多的设备,而且每种设备又有很多方法。如果要从外部直接调用,就需要写很繁琐的代码。下面的类图使用了一个简单的原创 2017-12-20 16:40:33 · 235 阅读 · 0 评论 -
Java设计模式——模板方法模式
概述 通俗点讲,模板方法模式就是在一个模板方法中,按既定顺序执行一组步骤(方法),并将部分步骤(抽象方法)延迟到子类实现。该模式把抽象父类设计为一个模板,所有子类都必须按照模板设定的骨架去按顺序执行方法。抽象类负责实现骨架中的公用方法(通用),子类负责实现必须改变的抽象方法(细节)。作用 所有继承了抽象类的子类都会按照父类骨架编码。通用方法由父类实现,减少代码冗余。应用场景 定制系统项目开发大原创 2017-12-28 19:32:27 · 470 阅读 · 0 评论 -
JVM垃圾回收算法的优缺点
最近在学习JVM的一些知识,所以特意写下学习笔记来简单记录知识点,由于只是初步的学习,下面本人所总结的内容都比较简单且不一定正确,如果有什么错误希望大家能指出来,我看到后会进行修正。垃圾分析算法功能:分析JVM堆上哪些对象是“垃圾”引用计数法 每一个对象都有一个引用计数器,当被引用一次时,它都会 +1,引用取消时 -1,当执行GC时,所有引用计数器为 0 的对象都会被视为“垃圾...原创 2018-06-10 17:38:13 · 2486 阅读 · 0 评论 -
Java对象锁的理解
Java 以前理解Java的锁机制认为:锁的类型分为‘类锁’,’方法锁‘,’对象锁‘。 1.类锁(synchronize(静态对象)):类的所有对象都要竞争锁。 2.方法锁(在方法前加synchronize): 同一对象同一方法需要竞争锁。 3.对象锁(synchronize(对象)):同一对象代码块竞争锁。以上都是在学习Java锁的基础理解其实上面所有的锁,都是“对象锁” 类锁...原创 2018-07-16 14:57:27 · 22962 阅读 · 13 评论 -
新手搭建zookeeper集群
zookeeper集群的搭建非常简单,随便网上一搜都几百篇搭建教程,本来不想写这文章的,但后来想想还是为学习留下一点记录吧。步骤:从网上下载zookeeper包并解压修改zookeeper配置文件把zookeeper文件夹拷贝到集群其他服务器(节点)新建dataDir目录和myId文件启动zookeeper,搭建成功一、下载zookeeper地址:https://www-us....原创 2019-01-14 21:00:07 · 321 阅读 · 0 评论 -
基于zookeeper实现"有序"的分布式锁
场景说起分布式锁,第一时间想到的就是使用Redis来实现简单便捷,但是Redis实现的分布式锁是无序的、不公平的。当有业务需求要求保证用户的访问顺序时,redis分布式锁是无法满足业务需求的。(ps:可能是我能力有限)想到zookeeper也能实现分布式锁,上网一搜,果然zk不管有序无序都OJBK。zookeeper特点树形结构。zk类似于文件系统,同样是树形结构,从根节点出发,不断地扩展...原创 2019-02-24 11:29:21 · 633 阅读 · 0 评论 -
Java设计模式——适配器模式
设计目的: 使旧接口兼容新接口,不改或少改原业务代码使用场景: 公司系统框架上有一个接口A,程序员为了实现业务,创建一个实现了接口A的类并且在业务代码上大量使用接口A提供的方法。过了几个月,公司由于某种原因,要求放弃旧接口A,改用新接口B,但是旧接口A的实现类已经被大量使用在业务代码了,直接实现接口B需要修改大量代码,很容易造成大面积的bug。使用适配器模式解决上述问题类图白话描述:把接口B“塞到”原创 2017-12-20 11:36:02 · 194 阅读 · 0 评论 -
Object[]数组与String[]数组转换问题
在一本书中看到Object[] 与 String[] 的转换。发现有点很奇怪Object[] ob = {"hello","World"};String[] str = (String[]) ob;//报异常Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be c原创 2017-07-19 09:37:56 · 20479 阅读 · 2 评论 -
Java爬虫入门之Jsoup使用
刚刚开始学习爬虫,因为本人是一枚初级Java工程师,平时基本上都是使用Java的,所以选择了用Java语言进行爬虫的入门语言,至于现在很热门的Python语言暂时还不熟悉,这个以后再去了解。概述 Jsoup是Java中用于解释Html语言的API。用户可以用它来解析文本html代码,也可以直接解析url地址。把html代码加载到内存,能按需要提取所有或特定的标签或内容。Jsoup还提供selec原创 2017-08-30 10:16:26 · 988 阅读 · 0 评论 -
子类和父类实现同一个接口的意义
在阅读Java.util.ArrayList源码的过程中,我产生了一个小疑惑,ArrayList实现了List这个接口(这没问题,学Java的都知道),但ArrayList的抽象父类AbstractList同样实现了List接口。想了很久这样设计有什么特别的作用? 父类已经实现了接口,子类继承父类的所有方法,同样能实现接口的所有方法啊,完全没必要子类再去实现该接口!原创 2017-09-30 10:26:36 · 4461 阅读 · 2 评论 -
搭建SpringMVC+Spring+MyBatis简要过程
准备搭建一个个人网站,由于以前没搭建过SSM框架,上一间公司虽然使用Struts2+Spring+MyBatis,但是基本上是在框架之上写业务,对几大传统的框架理解还是很浅,而现在工作的公司使用的是Play框架,有别于SSM这类框架,是一种非常轻量级的框架。本来有打算用play的,但是考虑一些ssm太久没使用过了,这次就顺便当练手吧。不打算去记录搭建的每一个步骤,因为这类型的文章实在太多了。基本上网原创 2017-10-23 10:39:00 · 674 阅读 · 0 评论 -
Java设计模式——策略模式
策略模式是什么?要获得某一结果,往往有多种解决方式,每一种方式就是一种策略。比如吃饭方式,每个人可以有多种应对的策略,用筷子,汤匙,刀叉吃饭等等。策略模式就是把对象(人)与具体行为(吃饭方式)分离,各自有自己的实现体系,实现代码解耦和复用。为什么使用策略模式?主要的作用是为了代码解耦和复用。不使用设计模式: 如图所示,使用类继承的方式,父类具体实现了eat()方法,由于每个人吃饭方式都可能不同原创 2017-11-06 10:18:58 · 231 阅读 · 0 评论 -
Java设计模式——装饰者模式
应用场景:一个人身高175cm,他觉得太矮泡不到妹子,穿了一双加厚的袜子增加1cm,嗯感觉效果不明显,再踩在一双加厚1cm的鞋垫,最后还不满意,再穿了一双内置增高3cm的鞋子,成功地把自己的身高“提高”到180cm+,他就被装饰成“大长腿”了。什么是装饰者模式?装饰者模式简单来说就是你想拓展A的功能,但是又不想把它拆了重建,这时你可以创建B,模仿(装饰)A的所有功能,然后在某些方面上模仿(装饰)得比原创 2017-11-09 12:04:41 · 326 阅读 · 0 评论 -
动态代理异常com.sun.proxy.$Proxy0 cannot be cast to
本人在学习动态代理的时候,做了些练习,结果报出了 Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to异常;与网上其他人写的例子进行仔细对照,发现了原来改回来后就运行成功了。PS: Work是接口,Hello是实现类特意在网上查了一下,发现自...原创 2017-07-25 11:57:48 · 33438 阅读 · 14 评论