自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 ArrayList源码详尽解读(二)

下面我想通过一个demo来跑一下ArrayList的add操作,一步一步来分析一下每个方法demo首先来看一下这个构造方法,指定容量大于0,就初始化一个新的数组,大小为指定的容量,这里是1;容量为0,elementData指向空数组;小于0直接抛异常。指定容量的构造方法下面就是执行add方法。add方法可以看到,真

2018-02-04 16:42:36 199

原创 String不可变性的一些思考

1.什么是不可变类型不可变对象是指一个对象的状态在对象被创建之后就不再变化。这里的不可变化是指不可以修改这个类的内容,这样的设计有很多的好处,不可变的对象可以复用,是共享的,同时还设计到了一个线程安全的问题,不可变类的不变性确保了多个线程在访问同一个对象的时候,是线程安全的。这里有兴趣的可以看一下《Effective Java》这本书,很经典的书,一般别人问我推荐什么java程序员必读的书

2018-02-04 16:41:29 407

原创 ArrayList源码详尽解读(一)

最近相对有一些空余的时间,重新看了一下JDK1.8 ArraryList的源码,写了这篇比较详细的分析,这里主要是对1.8源码做分析,与1.6 1.7 ArraryList源码不同的地方,准备单独写在后面进行比较,当然,有的地方可能还是会提到一下。内容比较多,分成几个部分慢慢写吧。从这个类的作者开始讲起吧。ArrayList作者Josh Bl

2018-02-04 16:39:59 201

原创 mybatis的mapper.xml 打包问题

今天打开项目,发现查询失效了,莫名奇妙,排查了好长时间,终于找到问题所在,mapper文件没有打包(那为啥我前几天能跑起来?),解决如下: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里。 有时候,比如mybatis的mapper.xm

2017-08-31 20:01:51 2529

原创 java中的String、StringBuffer、StringBuilder

1.可变与不可变  String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。    private final char value[];  StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,如下就是,可知这两

2017-08-29 15:24:28 188

原创 ArrayList的扩容机制

ArrayList是基于数组实现的,是一个动态的数组,其容量可以自动的增长,我们具体来看一下Arraylist的扩容机制的主要源码。 public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e;//每次增加

2017-08-23 10:06:33 1466

原创 JAVA设计模式之单例模式

单例模式是设计模式中经常使用的一种设计模式,单例模式确保类只能有一个实例,而且自行实例化并且向系统提供这个实例,为什么要使用单例模式,是为了避免很多时候状态不一致的情况,举一个例子,我们通常用的应用程序,只有一个主界面,我们不能同时打开两个程序的主界面。 下面介绍单例模式常见的几种形式 一.懒汉模式/** * 懒汉单例模式 * @author wst * */public class

2017-08-21 08:53:04 191

原创 NIO的读写示例

这两天在学习NIO的部分,开始觉得NIO比传统IO实现文件的读写要稍微复杂一些,但是写多了之后还是觉得NIO还是比较容易理解的,新东西不能害怕去看,硬着头皮看下去总有理解的时候,下面是代码。 这是测试读取数据的方法public void testRead(){ RandomAccessFile afile=null;//这里也可以用inputStream try {

2017-08-15 21:22:14 208

原创 排序之插入排序

回头看了一下排序的内容,这边给出一个插入排序的算法实现,一些注意点在代码的注释里面都有写,有的博主的代码存在一些数组越界的错误,这边给予一个更正。        要不先说一下插入排序的思想吧,直接插入排序的基本操作是将一个记录插入到已经排好的有序表中,从而得到一个新的、记录数增1的有序表。对于给定的一组记录,初始时假定第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的

2017-08-08 10:31:31 227

原创 java代理之静态代理

之前在设计模式这本书里面看到代理模式,当时不是很理解,最近回头再看这些东西,有了很多新的理解,这里我准备用尽量通俗的语言来说一说java代理的静态代理。        代理这个东西,乍一看似乎很不好理解,我之前说了,别把专业名词想的太复杂。举个例子,歌手都有个经纪人,这里的经纪人就是一个代理,歌手接商业演出,都是委托给经纪人去洽谈,经纪人谈好之后,歌手知道,我接了这个商演,而歌手很少去和演出方进行

2017-08-08 08:29:48 265

原创 冒泡排序的优化

冒泡排序不用多说,这边给出一个冒泡排序的一个优化的算法。 类似于{2,1,3,4,5,6}这样的数组,第一次交换之后,后面的比较完全是在浪费时间,因为已经有序了,无序我们在进行一个排序,所以这部分我们要进行优化。 直接上代码 int temp; boolean flag=true;//设置一个flag for(int i=0;i<a.length-1&&fl

2017-08-06 20:35:21 196

原创 能不能做程序员啊

这篇文章是来吹一吹牛逼的。 你看现在培训公司多火爆,一堆一堆的开发者从这里被生产出来,我问各位,这些某内,某软,某某的培训机构真的是培训出来开发人员吗。        我一直有个观点,编程这个东西不能说要有太多的天赋,兴趣至少要有的吧,这第一点我觉得很重要,有了这个第一点,下面这一点我同样认为是对的,优秀的开发者不是你教出来的,是自己琢磨出来的,我一直觉得搞开发的,一本书扔给你,百度一打开就能够

2017-08-03 20:00:23 459 1

原创 讲讲多态

这些天在啃框架,为啥突然将多态这个东西,看到周围同学似乎真的很难理解这个叫做多态的东西,我就讲讲我关于多态的一个理解。 首先什么是多态,指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式,(发送消息就是函数调用)。这段文字可以说非常不好理解了。我举个例子,拿我女朋友来说,我女朋友让我用聊天工具和她语音一下,对于语音来说,QQ实现了语音功能,微信也有语音的功

2017-08-03 08:47:41 389

原创 多态的理解

这些天在啃框架,为啥突然将多态这个东西,看到周围同学似乎真的很难理解这个叫做多态的东西,我就讲讲我关于多态的一个理解,尽量做到通俗易懂。

2017-08-02 20:37:56 340

原创 一个前端的计算器

` 计算器

2017-04-11 11:04:25 1095

原创 script里的onclick函数调用是否加括号问题

今天在写HTML的时候,遇到了script里面的onclick函数调用的问题,直接上代码<body> <div class="content"> <p> 喜欢的人叫什么:<span id="name"></span><br> 喜欢的人漂亮吗:<span id="isbeau"></span><br> 喜欢的人可爱吗:<span

2017-04-08 22:05:26 1784 1

原创 关于socket.shutdown的一个小的错误总结

今天没事想起socket,没事又写了写,基础的东西还是多写写吧,然后就碰到了socket.shutdownOutput()的问题,不多说,直接上代码吧。 //1、创建客户端Socket,指定服务器地址和端口 Socket socket =new Socket("127.0.0.1",port); //2、获取输出流,向服务器端发送信息 OutputStream os

2017-01-18 15:13:30 3733 1

空空如也

空空如也

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

TA关注的人

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