- 博客(13)
- 收藏
- 关注
原创 java实现单例模式
单例模式作为面试和工作中使用非常频繁的设计模式,今天来聊一聊它的几种Java代码实现方式。一 饿汉式public class Singleton { //构造参数私有化 private Singleton(){} private static Singleton singleton = new Singleton(); public static Singleton getInstance(){ return singleton; }...
2020-05-19 00:10:13
307
原创 读懂ReentrantLock源码
谈起java并发,Lock和synchronized关键字肯定是避免不了的,两者都可用于并发环境下同步控制线程的安全性,无论是在日常使用还是面试中,都是十分常见的。今天先来品一品ReentrantLock(可重入锁),Lock的实现类之一。
2020-05-11 15:00:59
209
原创 java实现链表的基本操作(增删改查)
链表作为最基本的数据结构,常常出现在笔试和面试题中,今天我们来看看链表的基本操作关于链表,其实具体的链表的概念就不说了,相信大家都懂,我们直接进入正题。下面的代码是关于单向链表的基本操作(Java实现)一 链表的创建public class LinkNode { public int val; public LinkNode next; public void setVa...
2018-09-16 12:56:24
391
原创 二叉树的遍历和求二叉树的最长路径
二叉树作为最常碰到和最基础的数据结构,今天来聊一聊二叉树的遍历二叉树的遍历分为深度优先遍历和广度优先遍历,其中,深度优先遍历又分为先序遍历,中序遍历和后序遍历三种。先,中,后都是根据根节点而言的,即:先序遍历:根——左——右中序遍历:左——根——右后序遍历:左——右——根一 深度优先遍历递归实现深度优先遍历递归的逻辑实现比较简单,就不多做解释,代码如下,相信都能看...
2018-09-13 21:40:45
9552
原创 java实现常见的几种排序算法
插入排序public static void insertSort(int[] numbers) { int j = 0; for (int i = 1; i < numbers.length; i++) { int temp = numbers[i]; // 假如temp比前面的值小,则将前面的值后移 for (j = i; j > 0 &&a...
2018-09-13 12:26:56
256
1
原创 细说JDK1.8下的ArrayList
最近在准备秋招,打算把自己看的Javase源码通过博客的方式记录下来,以便后面翻看首先要说的是ArrayList, ArrayList作为开发中最常用到的集合类,在面试中也是经常会被问到它的底层实现,所以就让我们一起来揭开它的神秘面纱吧。一 什么是ArrayListpublic class ArrayList<E> extends AbstractList<E&...
2018-09-09 11:55:47
592
原创 细说JDK1.8下的HashMap
HashMap作为一种重要的数据结构,无论是在面试还是开发中都能经常碰到,今天就来聊一聊它吧。环境:JDK1.8一 HashMap的数据结构HashMap是由数组+链表+红黑树组合而成的,具体来说,HashMap底层维护了一个Entry<K,V>[]的数组,数组中存放了Entry,Entry的结构可能是链表,也能是红黑树。具体下面会分析。二 HashMap的成员...
2018-08-01 18:08:29
319
原创 关于eclipse反编译插件不起作用问题的解决
今天用eclipse安装反编译插件,分别按百度安装了好几个,但是都没起到作用。想想可能是因为我的eclipse是现在最新的版本,可能以前的方法不适用了,所以就自己折腾了一下。以下为教程:1.首先我的eclipse版本是 Version: Photon Release (4.8.0),小伙伴们可以通过 help>>About eclipse IDE 来查看自己的eclipse版本,免...
2018-07-16 22:48:44
15015
22
原创 数据库索引
今天来聊一聊数据库面试的常见问题——索引。首先什么是索引,根据百度百科,索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。简单来说,数据库就是可以让我们高效查询数据库的数据结构。索引的分类:1.按存储结构分:BTree索引,hash索引。2.按应用层次分:普通索引,唯一索引,复合索引。3.按表记录的排列顺序与索引的排列顺序是...
2018-06-06 14:37:52
265
原创 谈谈==,equals(),和hashcode()的关系和区别
最近一直在看javase的内容,发现自己对==,equals(),和hashcode()的关系有点不太清楚了,所以写下这篇博客记录一下。首先,==号在比较基本数据类型时比较的是值,而用==号比较两个对象时比较的是两个对象的地址值:int x = 10;int y = 10;String str1 = new String("abc");String str2 = new String("ab...
2018-05-27 13:29:41
1122
原创 中间缓存变量机制 i++
最近在看java面试题,看到了一道经典的i++题目,内容如下:public class SeTest { @Test public void test1(){ int j=0; for(int i=0;i<100;i++) { j=j++; } System.out.println(j); }相信有很多小伙伴一看到题目就会说,简单,结果是100。可惜,输出结果是0...
2018-05-20 17:18:18
601
原创 关于struts2中配置了validation.xml校验失效问题解决
1,validation.xml文件位置问题,validation.xml文件应该放置在作用的action相同的包里2,validation.xml命名问题,validation.xml文件的名字应该是ActionClassName-validation.xml, 例如,你的action名字为LoginAction,那validation.xml文件的名字应该为LoginAction-val...
2018-04-23 23:52:28
775
原创 向MySQL数据库插入日期时出错解决
当我们通过jdbcdao向mysql数据库插入日期时,如果程序会抛出下面的异常: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: 'Sun Jul 28 00:00:00 CST 1996' for column 'birthday' at row 1原因:我们插入的日期时java.util.Da...
2018-04-01 16:04:43
7215
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人