![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
小气鬼Sweet
乘风破浪会有时,,直挂云帆济沧海
展开
-
深入理解HashSet
HashSet简介 HashSet实现了Set接口,Set接口是一种不包括重复元素的Collection,并且是无序的,为了提高访问速度。底层实现是HashMap源码分析 1)主要成员变量: private transient HashMap< E,Object > map; private static final Object PRESENT = new Obje原创 2017-10-28 10:31:21 · 248 阅读 · 0 评论 -
Spring自定义注解从入门到精通
在业务开发过程中我们会遇到形形色色的注解,但是框架自有的注解并不是总能满足复杂的业务需求,我们可以自定义注解来满足我们的需求。根据注解使用的位置,文章将分成字段注解、方法、类注解来介绍自定义注解字段注解字段注解一般是用于校验字段是否满足要求,hibernate-validate依赖就提供了很多校验注解 ,如@NotNull、@Range等,但是这些注解并不是能够满足所有业务场景的。比如我们...原创 2019-07-31 16:26:13 · 377 阅读 · 2 评论 -
java使用phantomjs进行截图
断断续续查找资料、验证不同的实现方法终于算基本搞定了页面截图,因为中间过程曲折花费较多时间,分享出来帮助大家快速实现截图为什么选用phantomjs进行截图截图可以实现的方式有很多,比如:seleniumHtmlUnitHtml2Image、、、and so on但是这些实现的截图效果都不好。selenium只能实现截屏,不能截取整个页面,而HtmlUnit、Html2Imag...原创 2018-10-08 16:25:11 · 2336 阅读 · 2 评论 -
java模拟登陆优酷
好久没有写文章分(装)享(逼)了,趁着国庆节有充足的时间分享一下最近所学。需求背景最近被分到一个活,给你一个视频地址,需要播放这个视频并录屏保存步骤打开网页登陆播放录屏疑难问题有些视频需要登陆以后才能播放有些网站播放需要安装flash前期调研因为要模拟打开网页的操作,需要使用浏览器,所以想使用无头浏览器去实现。无头浏览器有很多种,因为自己学习的语言是java,所...原创 2018-10-02 00:33:40 · 787 阅读 · 0 评论 -
使用try-with-resources优雅关闭资源
代码一定得写的优雅一点 你还在使用try-catch-finally关闭资源吗,如果是,那么就有点out了。皮皮甜手把手教你使用JDK7引用的try-with-resourceJDK7之前资源的关闭姿势:/** * jdk7以前关闭流的方式 * * @author hetiantian * */public class CloseResourceBefore7 { ...原创 2018-09-02 17:58:53 · 722 阅读 · 0 评论 -
java中实例变量和类变量的区别
最近在学习java虚拟机,有点搞不清实例变量和类变量的区别,特此记录一下实例变量 个人理解有点像成员变量,在构造函数的时候进行初始化 1.实例变量声明在一个类中,但在方法、构造方法和语句块之外; 2.当一个对象被实例化之后,每个实例变量的值就跟着确定; 3.实例变量在对象创建的时候创建,在对象被销毁的时候销毁; 4.实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这原创 2017-11-06 16:40:52 · 742 阅读 · 0 评论 -
jdk1.8HashMap源码实现分析
**HashMap介绍 HashMap实现了Map接口,以key-value的形式存储。所以当需要以键值对存储的时候会选用HashMapHashMap源码分析 1)构造函数: HashMap共有三个构造函数public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0)原创 2017-10-27 09:06:05 · 436 阅读 · 0 评论 -
java变量初始化顺序
在类的内部,变量定义的先后顺序决定了初始化顺序,即使变量定义分散在方法定义之外,它们依旧会在任何方法(包括构造器)被调用之前得到初始化其中初始化的顺序先是静态对象,其后是非静态对象例如:class Cat{ private Dog dog1=new Dog(1); static private Dog dog2=new Dog(2); public Cat(int n){原创 2017-11-05 22:45:46 · 225 阅读 · 0 评论 -
java中接口和抽象类的区别
抽象类:1.用abstract表示2.里面有一个或多个抽象方法,在方法前加abstract,抽象类中也可以没有抽象方法3.抽象类用extends继承,并且必须重写抽象方法接口1.用implement表示2.接口是极度抽象的类,所有方法都是抽象的,都需要进行重写接口的作用:解决java中的单继承问题,一个类可以实现多个接口,但只能有一个父类共同点:都不能被实例化原创 2017-10-28 12:16:37 · 311 阅读 · 0 评论 -
深入理解ArrayList
1.ArrayList介绍 List有序地。ArrayList是实现了List的接口的动态数组。底层的是实现是数组,插入和移除元素的效率较慢 2.源码分析 1)成员变量 private static final int DEFAULT_CAPACITY = 10; private static final Object[] EMPTY_ELEMENTDATA = {}; private s原创 2017-10-25 22:00:38 · 254 阅读 · 0 评论 -
Java中System.arraycopy()和Arrays.copyOf()的区别
**System.arraycopy()**这是一个由java标准库提供的方法。用它进行复制数组比用for循环要快的多。arraycopy()需要的参数有:源数组,从源数组中的什么位置开始复制的偏移量,目标数组,从目标数组中的什么位置开始复制的偏移量,需要复制的元素个数原创 2017-10-25 22:28:54 · 801 阅读 · 0 评论 -
阿里云服务器上部署war包
阿里云服务器上部署war包1 :购买阿里云服务器,学生还能优惠,因为觉得自己对Linux不是特别熟,又怕自己搞不定它失去学习兴趣,所以我选择了windows版本的,开始部署以后就贼后悔2 :服务器就相当于另外的一台电脑,想要部署war包其实就和在自己的电脑上部署一样,但是它缺少很多应用,然后就是一言不合下了很多应用,mysql,navicat,jdk,tomcat,再是对它们的环境进行一个配置3:部署war包原创 2017-10-12 23:39:55 · 2498 阅读 · 0 评论 -
自定义archetype,一统团队项目结构风格
虽然maven已经提供了maven-archetype-webapp、maven-archetype-quickstart等项目骨架帮助我们快速构建项目架构,但是默认提供的archetype初始化的项目架构并不能满足开发需求,这时候就有必要自己写一个满足项目需求的archetype了archetype是什么可以简单的理解为模板工具类,通过archetype我们可以快速的生成项目的基本架构。...原创 2019-08-13 19:37:31 · 569 阅读 · 0 评论