- 博客(39)
- 收藏
- 关注
原创 面试题集1
1.观察者模式(发布/订阅模式) 2.GC “地球人都知道,Java有个东西叫垃圾收集器,它让创建的对象不需要像c/cpp那样delete、free掉,你能不能谈谈,GC是在什么时候,对什么东西,做了什么事情?” 什么时候:系统自身决定,不可预测的时间/调用System.gc()的时候。eden满了minor gc,升到老年代的对象大于老年代剩余空间majorGc,full gc
2017-05-16 03:27:20
486
原创 交流心得2
1.java.lang.Math Math.round(); // 四舍五入 Math.ceil(); // ceil 天花板,向上取整 Math.floor(); // 地板,向下取整 2.JMM和栈帧结构 a. java虚拟机内存模型 方法区:方法区它用于存储已被虚拟机加载的类信息、常量、静态常量、即时编译器编译后的代码等数据。方法区和
2017-05-14 01:20:02
405
3
原创 交流心得1
关于==和equals() ==和equals()的区别不能一概而论:在object类里面equals的实现就是用==来判断的,此时二者并无异同。但是绝大多数的类都会重写equals方法。 String类里面重写equals方法:首先判断是否==,如果==则返回true, 否则每一个字符挨个比较,相同的话也返回true.a. String重写equals():public boolean
2017-05-13 15:26:48
356
原创 Java Thread(线程)sleep和wait的区别浅析
参考文章:http://blog.csdn.net/liuzhenwen/article/details/4202967http://www.cnblogs.com/DreamSea/archive/2012/01/16/2263844.html然后赶紧来总结一下sleep()和wait()的区别。 sleep()是Thread类的静态方法, 而wait()是Object的方法
2017-05-12 14:19:31
498
转载 HashMap多线程不安全
事故分析最近一次web工程上线,上线大概半个小时,出现了报警,16核的服务器的cpu使用了1123%,程序出异常了。 Cpu利用率过高一般是因为出现了出现了死循环,导致部分线程一直运行。占用cpu时间。使用jstack工具dump出问题的那台服务器的栈信息。死循环的话,首先查找RUNNABLE的线程,找到问题代码如下:Java.lang.Thread.State:RUNNABLE
2017-05-11 10:26:42
895
原创 现代人的学习方法
人格:跟着牛人学习概念:掌握概念,构建体系缝合:学习到的知识需要缝合,比如表达一次或者记录笔记碎片:学习时间碎片化目标,行动: 行动,调整行动,继续行动
2017-05-09 19:24:38
405
原创 SQL调优
1. 查看执行计划 EXPLAIN PLAN 是一个很好的分析SQL语句的工具,它甚至可以在不执行SQL的情况下分析语句. 通过分析,我们就可以知道ORACLE是怎么样连接表,使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称.你需要按照从里到外,从上到下的次序解读分析的结果. EXPLAIN PLAN分析的结果是用缩进的格式排列的, 最内部的操作将被最先解读, 如果两个操作处于
2017-05-09 16:25:28
285
原创 sql: substr函数用法
SUBSTR(str,pos,len): 从pos开始的位置,截取len个字符 substr(string ,1,3) :取string左边第1位置起,3字长的字符串。 所以结果为: str substr(string, -1,3):取string右边第1位置起,3字长的字符串。显然右边第一位置起往右不够3字长。结果只能是: g substr(string, -3,3):取stri
2017-05-07 21:23:11
97527
1
转载 麦芽糖歌词
这夏天的尾巴遇见新月银铃跟风唱起歌,我像生活导师般给你心灵创可贴 สวัสดี(你好)青青探探头往上冲在赛跑染色这整片草地都是月宝宝我在马背聆听杰伦跟着一步两步走远方的明月,近距离诉说,那甜蜜在键盘 满满的被送出聊天纪录角落,我们数着一麻袋的爱跟快乐,初恋的颜色。我牵着新月手经过 平顶山的小山坡香浓的诱惑 你脸颊微热 吐
2016-10-03 15:53:24
1081
转载 你怎么忍心让母亲等你那么久
母亲真的老了,变得孩子般缠人,每次打电话来,总是满怀热诚地问:「你什么时候回家? 」 且不说相隔一千多里路,还抽得出时间回家。 母亲的耳朵不好,我解释了半天,她仍旧热切地问:「你什么时候能回来?」 几次三番,我终于没有了耐心,在电话里冲母亲大声嚷嚷,她终于听明白,默默挂了电话。 隔几天,母亲又问同样的问题,只是那语调怯怯地,没有了底气。 像个不甘心的孩子,明知问了
2016-07-04 10:08:03
414
转载 String,StringBuffer与StringBuilder的区别??
此文转载自:http://blog.csdn.net/rmn190/article/details/1492013
2016-05-10 11:53:42
259
原创 下雨了
“雨还在下~ , 像在说话”说实话,现在的心情实在不适合听雨,有点压抑,稍微烦躁。我做了一个比较大胆的决定:辞职了! 其实辞职本身这个动作对我来说没什么害怕的,因为目前这间公司给的待遇确实不怎么样,虽然跟同事相处的还可以。主要问题是辞职就面临着重新找工作,又要面试! 这算是我人生中一个比较大的阴影吧。 对!我害怕面试。想起才过去一两年的大学毕业找工作那时,忙的时候从早面到晚,面过阿
2016-05-08 13:20:32
387
原创 随便说说
1.今天告诉爸爸妈妈我准备辞职跳槽,他们的第一反应是:孩子啊,千万别跳槽,你现在干的好好的为什么要跳槽,万一辞职了找不到工作怎么办?爸爸妈妈为什么不这样考虑呢:跳槽之后薪水也上升了呀!2.其实一直以来很后悔自己大学没有好好读书,以至于现在混的不太好。但同时我为自己惋惜,从小学到高中都一直在很努力的学习,仅仅是因为大学没有好好学习就很可惜成现在这幅模样,很为自己感到惋惜。同时让我想到
2016-05-06 21:07:42
312
原创 总结几个不错的编程观点和习惯
总结几个不错的编程观点和习惯1. 不要死记硬背一些有名的设计模式、框架。而是要"Use your brain"思考这些模式设计的初衷然后学习其思想。相信在你之后的代码中会不知不觉就用到了比较高大上的模式方法。2. 怎么写注释?——注释要写的是Why,而不是让你写How,What.因为这样的注释完全和你的代码重复,毫无意义。(这里要反省自己,改进自己的注释)3. 遇到
2016-05-06 15:09:27
304
原创 THINKING AS A LEADER
THINKING AS A LEADER大家是否有这样子的一个同感:领导不愧是领导,看问题非常透彻,能够分析到问题的本质。而自己却考虑的很表面,很肤浅。那是不是因为领导比我们智商高呢?——未必!那么今天我们来稍稍分析一下这种现象。给大家举两个简单的案例。故事背景:人物:员工A、PM、PL议题:现网问题分析回溯那么请看这三个角色对同一个问题的考虑和总结问题1:一个升级
2016-05-06 00:35:25
351
原创 数据结构——队列
队列:package com.notepad;import java.util.Arrays;public class MyQueue { private int DEFAULT_SIZE = 5; private int capacity; private Object[] elementsData; private final int front = 0; priv
2016-05-05 18:14:49
243
转载 炒鸡牛的一个编程题目
几年前,我跟一个寡妇结了婚,她有一个已成年的女儿,后来我父亲跟我妻子的女儿结了婚。我女儿就成了我继母,我父亲成了我女婿。两年后我妻子为我生了个儿子,他是我后母同母异父的弟弟,儿子管我叫爸爸,我管儿子叫舅舅。我女儿又为我父亲生了个儿子,他是我弟弟,但他又必须管我叫外公。同时我是我妻子的丈夫,我妻子既我后母的母亲是我外婆,所以我是我自己的外公······于是我想到了,写一个程序实现!
2016-05-05 14:55:56
321
原创 写一个线程安全的单例模式
1. 错误的写法:虽然用到了volatile,但是volatile只能保证可见性,并不保证原子性public class wrongsingleton { private static volatile wrongsingleton _instance = null; private wrongsingleton() {} public static wrongsi
2016-05-05 11:52:43
2491
原创 多线程——线程同步
参考:http://blog.csdn.net/zhangerqing/article/details/8284609想必大家都知道线程安全问题:如果一个对象的状态是可变的,并且他有是共享的,可以被多个线程同时方案,则存在线程安全问题。对于此类问题,解决方法主要有三种:1. 进制跨线程访问变量2. 使状态变量为不可变(前两个方法咱就不考虑了,因为他实际上是放弃 了多线程)
2016-05-04 16:15:54
332
原创 数据结构——单链表的简单实现
参考文章:http://blog.csdn.net/zhangerqing/article/details/87965181. 单链表结构:2. 插入和删除操作:
2016-05-03 20:47:31
419
原创 数据结构--数组和ArrayList
1. 什么是数据结构:将数据按照一定结构组合起来,不同的组合方式会有不同的效率,不同的使用场景。分为线性结构:数组、链表、队列、栈等,和非线性结构:树、图、表等及其衍生类结构。2. 数组:int[] a; a = new int[10]; 如果只执行int[] a;只是在栈上创建一个引用变量,并未赋值。只有当a = new int[10]才会在堆上真正的分配空间。(栈和堆的区别?)
2016-05-03 09:31:04
674
原创 sql语句in和exists的效率
select a.* from a where exists (select 1 from b where a.id=b.id)和select a.* from a where a.id in (select b.id from b)的效率比较1.如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in;2.如果外层的朱查询记录较少,子查询中的表大
2016-04-29 14:53:49
536
原创 java创建线程的四种方式
java创建线程的三种方式1. 继承Thread类创建线程类2. 通过Runable接口创建线程类3. 通过Callable和FutureTask创建线程 a. 创建Callable接口的实现类,并实现call()方法; b. 创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该C
2016-04-29 10:51:17
20460
5
原创 多线程简介
1.What:什么是多线程? a.java语言本身支持多线程 b.多线程解决并发需求 c.多线程编程利弊:线程安全 d.进程和线程的关系2.Why:为什么需要多线程? cpu的主频已经解决瓶颈,但是有大部分时间是空闲的,在等待IO或其它操作。可以利用CPU空闲的时间来提高程序性能。3.How:如何多线程编程? a.
2016-04-27 17:49:14
503
1
原创 阅读思考1
1.翻译外文要有自己的思考2.珍惜时间,忙碌起来3.《程序员和音乐家》:与其说程序员和音乐家是一个行业,不如说他们表示一种境界。由无聊到自我释放到创造的提升4.未来是湿的, 现在已然是一个湿的社会5.传统“预学式”改为“即学式”6.winRAR功能:a.切割大文件 b.防病毒 c.合并mp3 d.设置密码保护隐私7.《大话存储
2016-04-27 17:39:54
225
原创 冒泡排序、插入排序
冒泡排序:package com.sort;/** * 冒泡排序类 * @author Maggie * */public class BubbleSort { public void sort(int[] array) { // 需要length-1次 for(int i = 0; i < array.length-1; i++) { // 每一伦比较之后
2016-03-22 17:47:17
247
原创 使用异或运算交换两个变量的危险
我们知道,在排序算法中经常会需要交换序列中的两个变量,常见有两种方法:1.借助第三个临时变量// 交换 int temp = array[i]; array[i] = array[index]; array[index] = temp;2.借助异或运算的特性array[i] = array[i] ^ array[index];array[ind
2016-03-22 17:40:43
810
原创 快速排序法
package com.sort;/** * 快排类 * 思路:分割和递归 * 分割:将比基准数(第一个)小的放左边,大的放右边 * 递归:快排方法下调用分割,再快排。不断递归 * * */public class QuickSort {// 递归:快排方法下调用分割,再快排,再分割,在快排,再分割....public void sort(int[] array
2016-03-22 17:24:13
882
原创 计算机基本运算(加减法)
学习计算机加减法首先得了解计算机数的三种编码:原码、反码、补码。尤其是补码。关于三种编码之前做过简单的介绍,请参考我的另一篇博客:三种计算机编码
2016-02-22 11:11:59
13977
5
原创 关于计算机编码
1.原码:第一位表示符号, 其余位表示值2.反码: 正数的反码是其本身 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.3.补码: 正数的补码就是其本身 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)计算机计算时运用补码计算。1.为什么计算机运算时使用补码
2016-02-17 16:01:03
794
原创 c语言 *p++与(*p)++、*(p++)三者异同?
1.*p++与*(p++)是等价的,表示取p所指单元的值,p指向下一单元,即p自加1。2.(*p)++表示取p所指单元的值,这个单元的值自加1。大家可以写个小程序自测一下。
2016-01-27 14:27:28
2872
1
转载 HTTP 协议的通用头域via 的意义以及作用
列出从客户端到 OCS 或者相反方向的响应经过了哪些代理服务器,他们用 什么协议(和版本)发送的请求。 当客户端请求到达第一个代理服务器时,该服务器会在自己发出的请求里面 添加 Via 头部,并填上自己的相关信息,当下一个代理服务器 收到第一个代理
2015-10-20 11:22:59
1897
转载 关于蜘蛛结网
1.作为亲眼目睹(历时两个半小时)过蜘蛛结网全过程的人,给出权威答案——蜘蛛从栖身的地方(比较高的一个位置)选择一个固定点,把第一缕丝的端头固定在那里,然后向下爬(或者从空中向下垂落),爬到另一个高处,把丝的另一端固定好。这第一根丝就是一张网的基础架构。这根丝是没有粘性的,它从墙上爬下来爬过草地向附近的树前进途中,不会粘在草叶上扯不下来。从这个根丝出发就可以较为容易地搭建第二根第三根……
2015-10-20 10:06:20
1876
原创 想家
暑假已经结束了,今天刚到学校。每次离开家的时候都会在车窗悄悄的哭泣,今年照旧,舍不得家乡,舍不得家里人。这个暑假比较特殊,爸爸妈妈都出去打工了。。他们很累,我很心疼。弟弟对我特别好,他是我弟弟,却做到了哥哥该给的照顾。 我是他哥哥,却像个弟弟一样被他照顾。爸爸妈妈弟弟, 我好愧疚,好想你们。
2014-08-30 19:12:30
364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人