自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

玩垃圾的人

追逐梦想的姿势偶尔狼狈,但绝不卑微。 ​​​​

  • 博客(289)
  • 收藏
  • 关注

原创 迭代器中的快速失败(fail-fasr)和安全失败(fail-safe)

首先总体区别下什么是快速失败和安全失败,在java.util包的集合类就是快速失败的,而java.util.concurrent包下的类都是安全失败的。比如ConcurrentHashMap。快速失败(fail-fast)在使用迭代器时,如果A线程正在对集合进行遍历,同一时间,B线程对集合进行了增删改的操作,那么就会导致A线程抛出ConcurrentModificationExceptio...

2019-06-04 23:47:04 848

原创 Cloneable实现对象克隆

在其他文章中已经说明了场景,和一些对象克隆的实现方式。本篇文章主要是对Cloneable接口如何实现对象克隆展开。首先需要声明下,对象有分为浅克隆和深克隆。浅克隆浅克隆是对要克隆的对象,其中的基本类型复制一份新的产生给对象。但是对于非基本类型的数据类型,仅仅是复制一份引用给新产生的对象。即基本类型是新产生的,非基本类型是复制一份内存引用。实现步骤:1.实现Cloneable接口...

2019-06-04 13:46:25 1353

原创 如何实现对象克隆

情景:在我们实际的开发过程中,一个对象A中已经包含了一些有用的信息,现在我需要复制A的内容到B。使得A和B对象是完全两个不同的内存地址,修改一个对象的值,不会影响到另外一个。在java中如果单单采用复制的方式是不行的,只会让A和B同时指向一个内存地址,互相影响。解决:1.实现Cloneable接口,并重写object类中的clone方法,可以实现浅克隆,也可以实现深度克隆。2.实现...

2019-06-04 11:08:41 4498

原创 类的实例化顺序

首先列出实例化的顺序父类静态变量 父类静态代码块 子类静态变量 子类静态代码块 父类非静态变量 父类非静态代码块,如:构造,方法 子类非静态变量 子类非静态代码块,如:构造,方法具体大家可以自行通过代码进行验证。在实例化的时候,可能会出现成员变量实例化类,那么成员实例化。假造到public Father father = new Father()时,在去初始化Father这...

2019-06-03 20:49:40 291

原创 RandomAccess有什么用?

RandomAccess用来当标记,是一种标记接口。用处是当要实现某些算法时,会判断当前类是否实现了RandomAccess接口,会选择不同的算法。接口RandomAccess中内容是空的,只是作为标记用。比如List下的ArrayList和LinkedList。其中ArrayList实现了RandomAccess。而LinkedList没有。我们可以利用instanceof来判断哪一个是...

2019-06-03 13:29:18 7568

原创 抽象类和接口的区别

接口中所有的方法都是抽象的,而抽象类的方法可以是抽象的,可以有实现的。 类可以实现多个接口,但是只能继承一个抽象类。当抽象类A和B,同时拥有func()方法。这个时候,如果C同时继承了A,B。重写了func()。或者调用了func()。会造成混乱。是调用A里的func() 还是B里的func()。但是如果接口的话,就不会有这个疑问,因为接口中的方法都是抽象的,没有实现。不会发生同一个方法,不同...

2019-06-03 12:18:16 422

原创 finally和return的执行顺序

finally:异常代码块中,最后都会执行的代码。通常用来关闭资源。return:用于跳出当前方法,指针返回值。这篇文章主要是为了验证,当我们的异常代码块中,在finally代码前就已经return。那么会任何执行呢?我列出以下几个场景来验证。1.try...catch中有return,finally里面的语句会执行吗?如下是try中有return的执行情况。public c...

2019-06-03 02:06:06 3576

原创 final,finally,finalize的区别

finalfinal,是修饰符的关键词,代表不能被引用。类声明final。代表不能再派生出子类,不能作为父类被继承,因此一个类如果是abstract,那么就不能被final修饰。 方法声明final。代表该方法不能被重写。 变量声明final。代表变量不能被修改,在定义的时候就应该给初始值。finally在异常处理时提供了finally块来执行任何的清理操作。比如关流等。在以...

2019-06-03 00:23:14 635 1

原创 Java中==和equals的区别

在面试的过程中,可能会被面试到equals和==的区别。大多数的答案可能就是equals是用来对比值,而==是用来对比内存地址的。其实回答的并不是太全面,在JDK子代的一些类对equals的实现各不同。例如在object中,我们自定义的类他们父类全部都是object。所以在自定义类的实例化变量,调用equals,调用的是object父类里的equals。代码如下:...

2019-06-02 18:43:14 869

原创 什么是自动拆装箱

自动装箱和拆箱,就是基本类型和引用类型的相互转换。那么为什么要对他们进行转换呢?因为在集合(collection)中,只可以存放对象,不可以存放基本类型。在通常的情况下,我们会把基本类型转为引用类型,但是代码的精简度就不够了。为了优化这一问题,在jdk5中引入了自动拆装箱的机制。但是使用自动拆装箱时,需要了解他的机制,否则会出现难以捕捉的bug。比如int和integer之间的缓存...

2019-06-02 10:07:15 2606

原创 StringTokenizer是什么

StringTokennizer是一个分解字符串的工具类。具体使用代码如下:import java.util.StringTokenizer; public class Main { public static void main(String[] args) { String str = "This is String , split by StringTo...

2019-06-02 09:43:12 3451 1

原创 char类型是否可以存储一个汉字。

在c语言中,char类型占一个字节,而汉字占两个字节,所以不能存储。在java语言中,char类型占两个字节,而java默认采用Unicode码是16位,所以一个Unicode码占两个字节,java中无论汉字还是英文都是用Unicode编码来表达的,所以可以存储一个汉字。1Byte(字节) = 8bit (位)1024 byte = 1kb1024kb =1mb1024mb ...

2019-06-02 09:14:13 10894

原创 Java八大基本类型

整数类型:byte,short,int,long字符型:char浮点类型:float,double布尔型:boolean整数类型默认int。小数类型默认double。float和long类型的值必须加后缀,比如 float f = 100f. Long l = 100L.引用类型声明的变量是指在堆中的内存地址。引用类型包括类,接口,数组等。string类型是...

2019-06-02 09:04:03 460

原创 什么是字节码?采用字节码的最大好处是什么?

什么是字节码?java中引入了虚拟机的概念,就是在机器和程序之间加入了一层抽象的虚拟机器。这台机器在各个平台中都给程序提供了接口。程序只需要面向虚拟机编程,而不需要管理这套程序是否在什么平台执行。编写好的程序,由解释器来编译后,成为机器可以读懂并且执行的代码。在java中,将虚拟机可以读懂的代码,称之为字节码。这里记住不要混淆了。是将虚拟机可以读懂的代码称之为字节码。也就是java中的cl...

2019-06-02 06:30:50 17795 3

原创 JDK,JRE,JVM分别的关系是什么

JDKJDK就是java的开发工具,包含java程序所必须的编译,运行等开发工具和JRE,开发工具如:用于编译的javac命令 用于启动jvm启动的java命令 用于生成文档的javadoc命令 用于打包的jar命令等等简单的说就是jdk中包含了jre以及一些开发工具。JREJRE可以说是java的运行环境,他包含有java的虚拟机和丰富的系统类库,系统类库就是jav...

2019-06-02 04:16:28 392

原创 java中,什么是构造方法?什么是构造方法重载?什么是拷贝构造方法?

构造方法当新对象被创建时,对象就会默认加载构造方法。所以有些对于该对象的初始值,就会放在构造方法里。并且在java中,如果没有定义构造方法,那么就会默认创建一个无参的构造方法。构造方法重载构造方法重载,也和方法重载差不多。方法名相同啦,但是参数类型,个数,顺序至少一个不相同啦。在java中,当我们为一个类重载了构造方法之后,就不会默认创建一个无参的构造了。并且一个类中,可以有一个...

2019-06-02 03:53:59 1918

原创 重载和重写的区别?

其实在编写代码的过程中,或者在基础的教学中,或多或少都接触过重写,和重载。但是当我们把这两个词放在这一起,让我们说说他们的区别,难免会弄混。这里整理下重载和重写的区别。重载参数的类型,顺序,个数至少有一个不相同 不能重载只有返回值不同的方法名 存在于父子类,或同类中。重写方法名,参数,返回值相同 子类不能缩小父类的权限 子类方法不能抛出比父类更多的异常 存在于父子类中 方...

2019-06-02 03:20:07 237

原创 面向对象和面向过程的区别

面包过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗内存空间等。而比如单片机,嵌入式开发,Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象的易维护,易复用,易扩展面向对象优点:易维护,易复用,易扩展。由于面向对象有封装,继承,多态,抽象的特性,可以设计出低耦合的系统,使系统更加的灵活。缺点:性能比面向对象低...

2019-06-02 00:18:50 290

原创 什么是面向对象

说到这个面试题目,可以说是老生常谈啦。无论是对于新手还是老手,面对不同时期的程序员,都会有不同的理解,不同的思路。回答的内容深度也会大不相同。面向对象说到底就是一种思想,任何事物都可以看作是一个对象。在有些面试题目中也称之为OOP(Object Oriented Programming)。分开来解读就是:Object:对象、Oriented: 面向的Programming:程序设计...

2019-06-01 23:02:26 31376 3

原创 是否应该学习多门语言?

在工作的过程中,就常常听到这一句话。技术是永远学不完的。我恰恰认为这种人,就是我前进道路上的一个毒瘤。但凡我身边有人和我抱怨或者有这种思想的人。我通通都是啦黑名单的。不愿意和这个人交流太多。无论是框架和语言,每一年都会发生翻天覆地的变化。今天你还拿着高工资,倚仗的语言。说不定明天就被公司一个决策所淘汰了。不要给自己设置上限,不要有心里阻碍,你只管往前冲,最差不过是重头再来。如果每天还在...

2019-05-12 19:23:39 721

原创 随便聊聊

挺久没有在CSDN上写记录自己的东西了,并不是因为自己懈怠了。之前有说过想完善一下,自己的前端知识体系。让自己在做后端之余,也可以协助下前端的同事。不要一有样式的问题,就去找前端的同事。实在麻烦。所以就开始我的前端学习的道路,通过记录了几篇文章之后发现。CSDN对于XSS的支持实在是太不友好。标题的支持也是。特殊符号在文章详情被转义。在文章列表是以原特殊符号显示。能不能给我统一了?年前就发现了...

2019-05-03 13:57:53 162

原创 6前端-<div>,<span>

<div>单词缩写:division没有实际得意思,应用场景是div+css组合,构成页面布局。语法格式如下:<div>你好</div><span>单词缩写:span没有实际得意思,代表一节文字。语法格式如下:<span>你好</span>区别div和span都是没有实际意思得标...

2019-02-04 12:47:30 1112

原创 <br>和<br />得区别

<br>是在以前得写法,那时候没有具体得规范,也可以实现功能。现在规范了标签,加封闭符号。就有了<br/>。虽然说是向下兼容。但是html5中,以及是某些编辑器中,对于没有规范写封闭符号得标签,都做出了错误提示。所以还是建议大家使用<br/>...

2019-02-04 12:21:53 19975 3

原创 5前端-标签<h1><p><hr><br>

标题标签-&lt;h1&gt;单词缩写:head标签标签一共有6级,&lt;h1&gt;&lt;h2&gt;&lt;h3&gt;&lt;h4&gt;&lt;h5&gt;&lt;h6&gt;.从大到小的顺序。语法格式如下:&lt;h1&gt;标题&lt;/h1&gt;段落标签&lt;p&gt;单词缩写:paragraph语

2019-02-02 14:24:22 264

原创 4前端-工具sublime使用以及快捷键,快捷键补充

工具前期的工具暂时使用sublime。如果使用sublime快速构建html骨架,需要下载包,具体百度搜索安装package install   -Emmet。 快捷键 快速搭建html骨架在页面中输入 以下2个单词1.  html: 5   2.  ! 在sublime里面然后按下tab键盘即可生成HTML骨架多行同时编辑按住滚轮滑动多行,可多行同时编辑自动补全...

2019-02-02 13:13:32 538

原创 3前端-标签分类,标签介绍以及编码介绍

标签分类标签主要分为两类,双标签和单标签。双标签:&lt;body&gt;&lt;/body&gt;单标签:&lt;br/&gt;标签介绍&lt;!DOCTYPE html&gt;&lt;html leng="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &

2019-02-01 10:53:43 511

原创 2前端-浏览器的内核和html基本骨架

内核1.Trident(IE内核)2.Gecko(firefox)3.webkit(safari)4.chromium/Blink(chrome)5.presto(opera)Web标准一个标准的web界面,一般是由3个部分组成。结构:html,主要是生成界面的基本轮廓表现:css,主要是为了美化界面行为:js  ,主要是为了给页面赋予行为HTML骨架...

2019-01-28 22:36:25 197

原创 1前端-浏览器以及开发工具介绍

浏览器IE浏览器,火狐浏览器,谷歌浏览器,edge浏览器,sfari浏览器,opera浏览器开发工具1.visual studio code2.sublime3.dwcs64.webstorm105.HBuilder制图photoshop...

2019-01-28 22:14:17 229

原创 前端学习-前言

已经有很久没有认真得写博客了,都是在自己得印象笔记里记录知识点。主要是因为前端时间CSDN样式频繁变动,文字编辑器实在不敢恭维。就不怎么使用了。当然今天使用了下,还是趋于稳定得,给点时间,还是可以做好得。任何东西还是需要时间得沉淀的。言归正传,这次主要是想系统的学习下前端的知识,因为工作中,肯定是会用到的,毕竟不是大厂,一个人当两个人用的事情,我都已经习以为常了。其实我也有些顾虑,因为自己是想...

2019-01-28 22:10:10 5819 1

转载 script标签的type属性是必须的吗?

今天在看代码的时候,突然发现在引用js的时候script模块并没有标明type属性&lt;script src="js/jquery.min.js"&gt;&lt;/script&gt;&lt;script src="js/demo.js"&gt;&lt;/script&gt;要知道,在html4的年代里,type是必不可少的&lt;script type='text/java

2019-01-13 21:07:25 8542 2

原创 软件开发中的QA主要做什么的

QA是质量管理职位,很多大公司有专门的质量管理部。在项目开发过程,会由QA进行全程的监督,查看是否按照CMMI的标准进行软件开发。文档是否齐备,开发基线是否明确,是否存在风险,BUG的削减是否能够完成目标之类的。该职位的好处是加班没有那么多,有经验的QA能够协助项目经理管理好项目。相当于一个监督员的身份。CMMI全称是Capability Maturity Model Integrati...

2019-01-02 21:28:22 36462

原创 EXCEL解析思路

作为一名Java程序员更多是对table表格的操作,其中对于excel的导入导出操作,可以算的上操作比较频繁的了。对于excel的解析,我选择使用了poi作为apache的一个项目来说,还是很有公信力的。刚开始使用poi解析excel时,我是根据excel文档的不同,而修改解析方式,把逻辑加入到了解析当中,这里不正确的做法,无形当中给解析的性能带来极大的负担。之后,我转换思路,做一个e...

2018-11-27 10:00:02 515 1

原创 为什么数据库表要以t_或者tb_开头

t_表(Table)v_视图(View)p_(或s_)存储过程(Stored Procedure)

2018-11-17 12:39:44 9900

原创 StringBuffer 和StringBuilder的应用场景

 StringBuffer线程安全,StringBuilder线程不安全。 StringBuffer比StringBuilder慢。网络上有很多的文章有说到他们两个的区别,以及应用场景,这里说下个人感悟。StringBuffer更多会和修改全局变量和静态变量连用,这样可以保证线程的安全。而如果是局部变量,则可以使用StringBuilder,每次局部都会产生一个新的变量,不存在线程...

2018-11-01 23:12:12 1628

转载 WebRoot META-INF WEB-INF 区别

/WEB-INF/web.xmlWeb应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。 /WEB-INF/classes/包含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中。 /WEB-INF/lib/存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件...

2018-10-05 21:38:12 1270

转载 Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数据库表里面的某个字段。完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。持久对象是由insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相...

2018-10-05 16:00:12 254

原创 数据库链接对象JdbcDaoSupport

 原生的是根据配置文件,将jdbc模板加载到spring容器中。&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xm...

2018-10-02 22:12:02 377

原创 简述jdbc,并且spring整合jdbc

首先需要写好我们经常使用的crud方法,也称为jdbc模板。在日常的开发中我们只要调用这些已经写好的jdbc模板方法,就可以很好的加快编码效率。如下://使用JDBC模板实现增删改查public class UserDaoImpl extends JdbcDaoSupport implements UserDao { @Override public void save(User u)...

2018-10-02 21:55:01 466

原创 SSH整合基本理论

 

2018-10-02 10:11:24 185

原创 解析器是什么?

任何语言,从代码编写,再到执行代码程序,最后电脑执行。都必须要经过编译,把代码编译成计算机可以读懂的语言。这里可以把这种神奇的把代码编译成计算机可以读懂的语言,分为两种,一种是编译器,另外一种则是解释器。编译型语言。最为典型的就是c语言。通过编译C语言的代码,一次性编译全部代码,在到电脑可以操作的执行文件,但是有个注意sh事项,在windowsxi下编译的代码只能在windows下运行。不...

2018-10-01 21:29:31 10531

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除