- 博客(30)
- 资源 (6)
- 收藏
- 关注

原创 mysql 索引基础
前言: 本章主要围绕mysql索引展开讲解,参考来自网上众多博客,以及《mysql高性能》《Innodb存储引擎》还请各位多多指教。 主要讲解以下几个模块: mysql查询过程 ——> 索引类型 ——> 存储结构 ——> 索引失效 ——> 强大的Explain
2016-12-27 17:21:50
7613
原创 i = i++; ——《编写高质量代码》
i++原理,其实i++是一个表达式,共有以下三个步骤。 1、 int temp = i; // 把i的值复制在一个临时区域 2、 i = i + 1; // 把i加1,并且赋值回i 3、return temp; // 返回temp赋值。
2017-08-21 15:35:15
387
原创 java四种引用
4种引用 强引用 StrongReference 刚new出来的 软引用 SoftReference 当内存不够用时,回收 弱引用 WeakReference 下次垃圾回收一定会回收的 虚引用 PhantomReference 几乎不能使用,jvm记录使用
2017-07-10 15:38:58
372
原创 ThreadLocal源码简单分析
ThreadLocal是什么。百度上说,ThreadLocal并不是一个Thread,而是Thread的局部变量。 本文会先从三个方法开始源码解析。构造方法、set、get。最后会有一个总结和问答环节(自问)。
2017-07-04 16:15:10
416
原创 hashMap表面源码分析
hashMap底层主要使用了数组+单向链表的数据接口(jdk1.8当链表过长的时候使用了树的结构)初始化:赋值数组的长度16,和加载因子值0.75f,并没有生成数组。// 提供四个初始化方法public HashMap(int initialCapacity, float loadFactor)public HashMap(int initialCapacity)public HashMap(
2017-03-06 11:33:27
482
转载 多线程及线程池学习心得
多线程及线程池学习心得一、线程的应用与特点 多线程是程序员不可或缺的技术能力,多线程技术在各个方面都有应用,特别在性能优化上更是起到至关重要的作用。但是,如果多线程写得不好,往往会适得其反,特别是高并发时会造成阻塞、超时等现象。多线程具有以下特点:1、独立性,拥有自己独立的资源,拥有自己私有的地址空间;2、动态性,进程具有自己的生命周期和各种不同的状态;3、并发性,多个进程可以在单个处理器上并
2017-02-11 11:48:52
426
原创 从字符串中查找第一次出现一次的字符
美团面试手写正确的思路为:将字符对应的asc码当为数组角标,一次循环计算所有字符出现次数,再一次字符顺序的循环,查找出字符出现为1次的返回。 注意点:char类型占1个字符,2个字节,2*8位,有2^16 = 65536种可能,范围 0 - 65535,但是抛去转义等字符,键盘上输入的范围是 0 - 255 共256种可能。所以数组长度为256足以。第一次循环计算所有字符出现次数。如何按时间
2017-02-04 14:40:02
2376
原创 踏入java圈的这一路
怎样能最快速度成为大牛?靠人、靠公司背景、靠书?由此写了一下我从java入门到现在的经历。也同时想为以后技术积累做一个计划。
2017-01-18 17:23:20
334
原创 mysql 记录(record)
以下内容来源于《mysql内核:Innodb存储引擎 卷1》 简单介绍物理记录和大记录。仅为理解mysql 索引基础存储结构这一章节而写。
2016-12-28 14:02:55
7000
原创 深入理解char和varchar的区别
今天在看《mysql性能优化》,偶然发现了一些从不知道的秘密,又去跟同事说,同事不知道,我还没说明白,好尴尬。所以从网上查了一下资料并且开启本地测试库测试。varchar真的很好用吗?
2016-10-28 16:25:06
2737
1
原创 ^异或运算。求解成对出现的一个未成对的数。
**结论**:1,任意数异或本身结果为0。*( x ^ x = 0 )*2,任意数异或0结果为本身。*( x ^ 0 = x )*结果和减法一样。^_^
2016-10-17 16:58:05
400
原创 @RequestMapping返回值为void
当使用@RequestMapping返回值为void时,会自动跳到对应的视图。[这样会导致,找不到响应视图]
2016-09-22 16:58:00
1888
原创 贝诺塔游戏
贝诺塔游戏/** * 将盘子由柱子A移动到柱子C,期间可以用将B座位辅助柱子。 * (盘子只能每次移动一个,而且保持大的在下,小的在上) * @param n 盘子个数 * @param a 柱子A * @param b 柱子B * @param c 柱子C */ public static void move(int n, String a, String b,
2016-07-22 10:52:39
1329
原创 Josephus问题
Josephus问题/** * Josephus问题。 N个人编号从1到N,从1号开始传递土豆。 * 经过m次传递后,清除当前拿着土豆的人, 由后面的人继续 * 传递m次,最后一个人为胜利者。 */public class SanDian6 { public static void main(String[] args) throws Exception { int n = 1
2016-07-22 10:50:05
373
原创 第三章 表、栈和队列
数组:在内存中存储为连续固定大小空间。 特点:因为是连续空间,所以查找速度快[o(1)]。当增删元素位置不是在数组尾时,会导致移动数组元素,加大操作量,降低速度。 链表:在内存中存储不连续,用一个节点记录下一个节点位置,形成连续节点。 特点:查找不方便,需要从头节点开始遍历,尽管做了一些优化:例如,储存头结点、尾节点、节点个数。但是仍然没有数组方便。但是链表删除速度却很快
2016-07-14 18:01:58
291
原创 第二章 最大子序列和、二分法查找、辗转相除法
文章下主要是《数据结构与算法分析(java版)》的第二章总结。其解决问题为:1,求最大子序列和。2,二分法求值角标(递归 | 非递归)3,求最大公因数。
2016-07-12 10:52:11
567
原创 第二篇——坚持!!
距离上一次写博客,已经有好多天了,仍然我还是像原来一样的生活、学习、工作,原来习惯真的不是那么容易改变的,同时我也不得不承认我不是一个很能坚持的人。 工作方面:还是像之前一样,有代码写的时候会很兴奋,没有的时候,不知道自己干什么,老大说可以看公司的项目代码,寻找bug,优化代码,(借口:我也想去做,可是我一点也不了解业务呀,代码就一直ctrl + 左键,最后把自己看蒙了),自己学点技术,
2016-03-30 18:53:01
371
原创 第一篇博客——初来驾到
刚开始学习java的时候,总会出现一些错误信息,粘贴到网上看,就总会看到csdn博客,后来慢慢的知道了,csdn是针对于IT人员设置的论坛,上面会有各种问题的解决方案和讨论,也会有一些大牛到上面去写博客,通过评论就可以知道问题的解决方案。但是这并不是我开始要写博客的主要原因。原本我也不喜欢也不习惯去写博客,我喜欢把一些知识或者是琐碎之事记录到笔记本中。但直到前一阵子,听说一个上两届的学长因为博
2016-03-23 18:22:44
589
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人