自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hhli

如果你对技术有追求 就不要满足于消费别人的总结 一定要到源头去看看

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

原创 effective java总结其一

对象 1、equals、hashCode覆盖 1.1、hashCode、equals方法必须同时覆盖 1.2、覆盖equals必须满足自反性、对称性、一致性、非空性;相互equals的对象hashCode必须相同 1.3、最好使用lombok、AutoValue生成equals、hashCode方法 1.4、如果对象有放到集合比如ArrayLis...

2019-11-02 16:38:45 191

原创 ArrayList源码解读

本文探讨了ArrayList的源码实现,讲述了ArrayList的类关系、创建、增删改查、序列化、线程安全

2019-07-13 11:58:36 244

原创 java并发编程的艺术之并发编程基础

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B斜体 Ctrl + I引用 ...

2019-03-16 20:57:09 235

原创 java并发编程的艺术之内存模型

java的线程是通过共享内存的形式进行通信。那么如何保证线程安全呢?下面主要讨论一些可能会影响线程安全的内存模型、语义。内存模型基础内存共享模型java内存模型包含主内存和本地内存,共享变量存储在主内存,本地内存是线程对共享变量(即主内存)的副本。本地内存是一个抽象概念,它涵盖了缓存、写缓冲区、寄存器以及其他的硬件和编译器优化(硬件和编译器优化可能指的是指令重排序,我觉得作者表达地...

2019-03-08 08:36:03 224

原创 java并发编程的艺术之并发机制的底层实现原理

Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。本章我们将深入底层一起探索下Java并发机制的底层实现原理。volitate定义Java语言规范第3版中对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和...

2019-02-17 17:12:53 320

原创 markdown首次编辑教程(备份,需要的可以私信我)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B斜体 Ctrl + I引用 C...

2019-02-17 12:24:31 258

原创 java并发编程的艺术之并发编程的挑战

并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题,本章会介绍几种并发编程的挑战以及解决方案。上下文切换由于CPU采用时间片的机制去调用线程,即CPU通过给每个线程分配一定的时间,时间到达后进行上下...

2019-02-16 23:25:56 215

原创 使用maven生成自己的archetype

通过maven-archetype-plugin插件可以自定义符合我们自己需求的archetype(骨架),不但可以快速完成项目的创建,而且可以复用现前搭建项目的基础设施,比如公共组件,从而提高开发效率。archetype理解Archetype是一个Maven项目的模板工具包,它定义了一类项目的基本架构。Archetype为开发人员提供了创建Maven项目的模板,同时它也可以根据已有的Ma...

2018-12-16 21:55:41 859

原创 java集合(-)

文章分为两个部分,第一部分为描述集合间的继承和实现关系,第二部分集合接口或者类的公共方法。   1 集合间的继承和实现关系(悲剧,不会画图,只能用文字描述):       ---> 继承关系     ---- 实现关系       基础接口和类       Iterable(接口)  --->ollection(接口) --->set(接口) List(接口)  Queue(接口)

2015-09-18 20:14:37 608

原创 工作一年之后的记录与总结

想起去年入职的时候,真是岁月匆匆。自己在在这一年经历了一些事情,就做一个小小的总结吧,希望十年之后,二十年之后,自己可以回顾一些当时的经历。人呐,有时候最喜欢高估的就是自己,最喜欢幻想的也是自己,有时候自己应该怎么活,但是并没有去按照计划去做,也许是外界对自己的影响,也许是自己太懒惰。总之,有些事情说不清,先看一下自己去年转正之前做的提升计划吧。修炼基本技能    首先提高自己的编码能

2015-07-26 11:20:43 1375

原创 鸟哥Linux私房菜第一章计算机概论总结(-)

计算机其实是:接收用户指令与输入数据,经过中央处理器的数据与逻辑运算单元运算处理后,以生成或者存储成有用的信息。1 计算机硬件的组成    根据冯诺依曼体系结构,计算机的基本组成由以下几个部分组成,具体如下图所示:   具体可以描述为输入输出设备,键盘啦,鼠标啦,显示器啦等等;运算器,控制器(cpu的两个组成部分),cpu按照指令集的种类分为精简指令集RISC,复杂指令集CISC。

2015-06-28 16:54:01 931

原创 leetcode Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. Fo

2015-06-16 21:15:56 537

原创 Linux数据流重定向

开篇:  当在执行shell命令时,常见的就是输出在屏幕上,但是我们有些时候需要保存输出结果或者丢弃输出错误,就需要重定向了。什么是数据流重定向:  当我们执行一个命令(命令不也是程序嘛),可能由文件或者键盘读入数据,经过处理之后,再将结果输出到屏幕上。图中,standard output与standard error output分别代表标准输出和标准错误输出,默认都是输出到

2015-06-13 20:53:52 689

原创 leetcode Add Two Numbers

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a li

2015-06-07 11:30:10 709

转载 Linux环境变量以及文件查找

1 环境变量    环境变量有时也被称为系统变量。比如shell的环境变量作用域自身以及它的子进程。在所有的UNIX以及类UNIX系统中,每个进程都有自己的环境变量设置,且默认情况下,当一个进城被创建时,处理过程中明确指定的话,它将继承其父进程的绝大部分环境设置。shell程序作为一个进程运行在操作系统之上,而我们在shell中运行的大部分命令都将以shell的子进程的方式运行。 

2015-05-31 11:11:12 774

原创 leetcode algorithms: two sum

Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, whe

2015-05-24 11:47:32 510

原创 目录结构以及文件基本操作

Linux 是以树形目录结构来组织整个系统的。虽然本质上无论目录结构还是操作系统内核都是存放在磁盘上的,但是从逻辑上来说Linux的磁盘是挂载在目录上的。     FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。

2015-05-23 17:07:42 924

原创 hadoop简介

1.hadoop是什么    Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google档案系统的论文自行实作而成。    Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应

2015-05-16 15:24:23 615

原创 用户及文件权限管理

查看当前用户所在的用户组: 1使用groups命令        groups + 用户名     2 查看/etc/group文件         /etc/group         cat /etc/group  | grep 用户名添加用户并赋予管理员权限   1 sudo adduser  用户名 ; sudo usermod -G sudo 用户名(前提是当

2015-05-15 21:42:25 557

转载 Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)

原文章链接为:http://www.cnblogs.com/kinglau/p/3796164.html在Ubuntu14.04下安装Hadoop2.4.0 (单机模式)基础上配置一、配置core-site.xml    /usr/local/hadoop/etc/hadoop/core-site.xml 包含了hadoop启动时的配置信息。    编辑

2015-05-15 21:02:28 641

转载 Ubuntu14.04下安装Hadoop2.4.0 (单机模式)

一、在Ubuntu下创建hadoop组和hadoop用户    增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户。 1、创建hadoop用户组                2、创建hadoop用户        sudo adduser -ingroup

2015-05-15 20:45:37 927

原创 Linux terminal的常用快捷键(-)

Linux下有很多常用的快捷键,不同系统或者不同桌面的设置可能不同,大家可以自己进行设置。  crtl + alt + t  打开终端  alt + f2 调出搜索应用程序的窗口,输入termial,即可打开终端  tab 一次自动补全, tab两次列出所有的补全可能  crtl + d 键盘输入结束或者退出终端  crtl + s 暂停当前程序 暂停结束后按任意键结束执行

2015-04-11 16:29:02 638

原创 Linux系统简介(-)

Linux是一款开放源代码的类Linux操作系统。1991年,托瓦茨根据Minix(具有微内核的UNIX)写出了Linux内核并发布到网上,大家可以自由下载和修改。后来为了Linux的普及和发展,Linux通过了GPL软件许可,并且在Linux集成了大量GNU计划的应用程序(GPL是斯托曼老爷为了GNU计划而编写的软件许可),所有有时被称为GNU/Linux。还有大家要注意,我们平时口中的Linu

2015-04-05 11:56:35 1698

原创 开篇

Linux shell的学习总结

2015-04-05 11:30:04 564

转载 Java注释@interface的用法【转】

java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么标记,

2014-08-24 20:56:41 524

转载 Eclipse工具使用技巧总结

首先推荐一篇非常好的How to use eclipse文章 ,讲的是eclipse使用的方方面面,非常实用,推荐给大家!一、常用快捷键:Ctrl+F11 运行Ctrl+Shift+/ 在代码窗口中加入/* ... */注释Ctrl+Shift+\ 消除/* ... */注释Ctrl+Shift+O 将缺少的import语句加入Ctrl+1 快速修复(最经典的快捷键,就不用

2014-08-07 13:44:57 651

转载 22个Java经典实例 带完美注释

http://www.cn-java.com/www1/bbs/viewthread.php?tid=294775&extra=page%3D11. 获取环境变量Java代码 1. System.getenv("ATH");2. System.getenv("JAVA_HOME"); 2. 获取系统属性Java代码 1. System.getProperty("

2013-04-05 00:29:54 2221

转载 Java 编程经验(牛人写的) 下

原文链接 http://blog.sina.com.cn/s/blog_530abec50100i1f0.htmlJava杂谈(五)本来预计J2se只讲了第四篇就收尾了,可是版主厚爱把帖子置顶长期让大家浏览让小弟倍感责任重大,务必追求最到更好,所以关于J2se一些没有提到的部分,决定再写几篇把常用的部分经验全部写出来供大家讨论切磋。这一篇准备讲一讲Xml解析包和JavaSwing,

2013-04-05 00:20:10 958

转载 Java 编程经验(牛人写的) 上

转载的 不错 原文 http://blog.sina.com.cn/s/blog_530abec50100i1ez.html      来学习Java也有两个年头了,永远不敢说多么精通,但也想谈谈自己的感受,写给软件学院的同仁们,帮助大家在技术的道路上少一点弯路。说得伟大一点是希望大家为软件学院争气,其实最主要的还是大家自身的进步提升??1. 关于动态加载机制??学习Java比

2013-04-05 00:17:03 1508

原创 一个小问题

package pkg1; public class Jupiter{ void method1(){ System.out.println("In Jupiter"); } public void call(){ method1(); } } package pkg2; import pkg1.Jupiter; public class

2013-04-04 18:11:31 613

转载 java 设计类

(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:  ThisIsAClassName  thisIsMethodOrFieldName  若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。  Java包(

2013-03-17 16:46:08 616

转载 浅谈java异常[Exception]

source http://www.cnblogs.com/focusj/archive/2011/12/26/2301524.html一. 异常的定义在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以ja

2013-03-01 20:59:49 442

转载 程序设计方法

作者:风中叶 版权归浪曦视频在线所有 http://bbs.langsin.com概述强调动手,强调实践只有通过大量的实践才能不断的培养编程感觉编程是有感觉的,就好象英语阅读一样,是有语感的每天都要编写代码,不断培养编程感觉通过实践来增强对理论的理解没有实践的理论是空虚的理论没有理论的实践是盲目的实践实践是检验真理的唯一标准打破同学以往在程序设计学习中存在的

2013-02-24 16:19:43 575

转载 我们是酷毕(苦逼)程序员

一个家伙站在街边的墙角一根接着一个的抽着雪茄。一位女士走过来提醒他说,“嗨,你不知这东西会要了你的命吗?我是说,你没有看到烟盒上醒目的警告吗?!”“不必担心,”这个家伙吐了一口烟,说:“我是个计算机程序员,”“什么?有什么关系吗?”“我们从不在意警告信息。我们只关心 error。” 问:换一个灯泡需要多少个软件工程师?答:一个都不需要。因为这属于硬件问题。

2013-01-10 17:47:38 711

转载 程序猿的爱情

转自:http://blog.csdn.net/huangminqiang201209/article/details/8448499这几周《非诚勿扰》来了不少IT男,而且来自硅谷,这触发了大家对程序员的好奇心,其中主持人孟非读的一首诗堪称经典,我载下来,大家来吐吐槽!       举头望明月,低头写程序。       但愿人长久,天天写程序。       垂死病中惊坐起,我的程序

2013-01-10 17:38:30 1013

转载 国际著名黑客大赛介绍与比较

转自 http://www.csdn.net/article/2013-01-04/2813390-hackers-confs-comparison摘要:黑客(Hacker)是指对计算机科学、编程和设计方面具高度理解的人,但因为和骇客(Cracker)音译相似,一直以来备受人们误解。一个合格的黑客应该拥有出众的技术,同时遵守着“黑客精神”——善于独立思考、热爱自由探索。本文整理

2013-01-10 16:49:33 1179

转载 搜索引擎的未来

转自:http://www.ccwresearch.com.cn/store/column.asp?columnId=27&view=早些时候,雅虎、Google和微软负责搜索业务的人士在沃顿科技论坛谈了对未来搜索引擎的看法,三家公司对待搜索引擎的发展路径看法截然不同。雅虎方面认为,搜索引擎的下一个重大的创新将是”社会搜索”,它能够实现信息相关度的民主化,普通用户来决定对于他们和其他用户而

2013-01-09 12:29:16 587

转载 弱联系的强度:人脉、信息和创新

转自 http://www.geekonomics10000.com/668   (果壳网)      我们中国人非常喜欢谈人脉,有句现代谚语说“社会关系就是生产力”。拉关系,是很多人都做,但是又被某些有志青年所不屑的行为。可是不管你有多么不喜欢,在社会中做事情往往就是要依赖各种关系,求人未必可耻,孤独未必光荣。“关系”,是个正常的现象。而这个现象并不简单。也许在很多人眼中建立有价值人脉的关键

2013-01-08 23:14:49 764

转载 再次详解递归

转自:http://blog.chinaunix.net/uid-26941022-id-3331402.html计算机科学的新学生通常难以理解递归程序设计的概念。递归思想之所以困难,原因在于它非常像是循环推理(circular reasoning)。它也不是一个直观的过程;当我们指挥别人做事的时候,我们极少会递归地指挥他们。对刚开始接触计算机编程的人而言,这里有递归的一个简单定义:当

2013-01-05 10:43:21 862

转载 编程修养(一)

转自:http://blog.csdn.net/zy_xie/article/details/785476   什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、

2012-12-31 22:24:50 631

空空如也

空空如也

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

TA关注的人

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