自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发

博文均为博主精心总结,从企业实战出发,提高开发中解决问题的能力

  • 博客(24)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

转载 枚举类型为什么能实现单例模式?

定义:枚举是指一组固定常量组成合法值的类型首先是固定常量,一组有限常量集,比如一年的四个季节,太阳系的行星。其次,枚举是一种特殊的类型,定义了自己的一些规则,这些规则是建立在类规则之上的,是一种 type。性质:枚举是真正的 final,客户端不允许创建枚举类的实例,也不能对其进行拓展Java 枚举本质上是 int 值。只能通过公有的静态 final 域为枚举类导出实例。pub...

2019-05-31 17:32:54 3279

原创 《effective java 》第3条--枚举类型实现单例模式

枚举方式(推荐)创建枚举默认就是线程安全的,所以不需要担心double checked locking,而且还能防止反序列化导致重新创建新的对象。保证只有一个实例(即使使用反射机制也无法多次实例化一个枚举量)。public class Singleton { public static void main(String[] args) { Single sin...

2019-05-31 17:28:27 267

转载 Java中 static 和 volatile 关键字的区别?

Java语言规范(Java Language Specification)的官方解释:1) If a field is declared static, there exists exactly one incarnation of the field, no matter how many instances (possibly zero) of the class may eventuall...

2019-05-31 15:12:05 1409 1

原创 关于static用于单例模式的理解

今天看到一个单例模式,代码写的有点不明白,为啥只会调用一次私有构造函数呢?public class TestSingleton { static { System.out.println("static block"); } String name = null; public static final TestSingleton INST...

2019-05-31 15:09:31 4902

原创 《effective java 》第2条--多参数的构造优先使用Builder模式

1 重叠构造器,注意看各个构造方法和this方法,两个参数的构造方法调用的是三个参数的构造方法,第三个参数是0;三个参数的构造方法调用的是四个参数的构造方法,第四个参数是0;以此类推.....但是有一个问题,一个参数,两个参数,三个参数,使用其构造传参会比较明确,但是对于多参的构造,会涉及到参数顺序的问题,有时候会传参出错,而且参数太多,难以阅读,对参数的把控性不高,不利于程序的阅读;/...

2019-05-31 10:58:24 243

转载 JAVA设计模式-工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)

JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)https://blog.csdn.net/jason0539/article/details/23020989JAVA设计模式之抽象工厂模式https://blog.csdn.net/jason0539/article/details/44976775...

2019-05-31 09:18:34 176

转载 《effective java》1:静态工厂方法的优势,为何要使用静态工厂方法少使用new(二)

本文略长,所以先来个内容提要。1. 序:什么是静态工厂方法 2. Effective Java 2.1 静态工厂方法与构造器不同的第一优势在于,它们有名字 2.2 第二个优势,不用每次被调用时都创建新对象 2.3 第三个优势,可以返回原返回类型的子类 2.4 第四个优势,在创建带泛型的实例时,能使代码变得简洁 3. 除此之外 3.1 可以有多个参数相同但名称不同的工厂方法...

2019-05-30 22:08:03 290

转载 《effective java》1:静态工厂方法的优势,为何要使用静态工厂方法少使用new(一)

什么是静态工厂方法对于类而言,为了让使用者获取它自身的一个实例,最常用的方法就是提供一个公有的构造器。当然,这里要介绍的是另一种方法——静态工厂方法,一个返回类的实例的静态方法。举个例子,Boolean的一个将基本类型boolean转为封装类的方法,valueOf:public static Boolean valueOf(boolean b) { return (b ? TR...

2019-05-30 22:05:13 921 1

转载 Java为什么不推荐使用线程组?

线程组ThreadGroup对象中的stop,resume,suspend会导致安全问题,主要是死锁问题,已经被官方废弃,多以价值已经大不如以前。 线程组ThreadGroup不是线程安全的,在使用过程中不能及时获取安全的信息。转自:https://blog.csdn.net/xywz123456/article/details/86301612...

2019-05-30 11:42:05 1114

转载 永远不要再循环之外调用wait方法

实例1:wait在while中package com.lyzh;/** * Title: * * @Author * @CreateTime 2019/5/29 20:58 */import java.util.Date;import java.util.LinkedList;import java.util.List;/** * This class impl...

2019-05-29 21:53:42 556

转载 String.intern用法--扩充常量池

String s0 = "kvill"; String s1 = "kvill"; String s2 = "kv" + "ill"; System.out.println(s0 == s1); System.out.println(s0 == s2);// true// true...

2019-05-29 20:33:52 323

转载 字节流、字符流的区别

1字节能表示26个英文字母和一些特殊符号,但是2^8=256根本无法表示十万个左右的汉字,所以汉字可以采用GB18030编码,用1字节、2字节、4字节表示1个汉字。但是其他文字比如日语、韩语、阿拉伯语也有其他的文字编码,没有实现全球统一的字符集,比如“1100010101010”显示成英语是“hello”,显示成汉语可能是“是单次??”,所以unicode字符集应运而生,包括100多万个字符(全球...

2019-05-29 11:26:39 408

原创 Unicode字符需要几个字节来存储?

0)学习笔记:我们常说的这句话“Unicode字符是2个字节”这句话有毛病Unicode目前规划的总空间有17个平面, 0x0000---0x10FFFF,每个平面有 65536 个码点.Unicode支持的字符上限是65536个 这句话也是有问题的,这65536个字符是我们最常用的基本字符,但是还有很多字符是在0x0000--0xFFFF之外的unicode存储在计算机内存里肯定...

2019-05-29 11:16:14 9842

转载 CopyOnWriteArrayList原理,优缺点,使用场景

什么是CopyOnWrite容器  CopyOnWrite容器即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWri...

2019-05-22 21:50:51 33213 8

转载 mysql explain详解

Explain简介本文主要讲述如何通过 explain 命令获取 select 语句的执行计划,通过 explain 我们可以知道以下信息:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。下面是使用 explain 的例子:在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,...

2019-05-22 14:26:42 265

原创 Mysql,Hive union all使用

union all并不只是需要两个子查询的字段名称、顺序要一致,当不一致时会起到补充的作用,仍然使用第一个字段名Hive12Mysql:1select area_name from area_table where province_name='山西' and city_name='晋中'union all select area_id from a...

2019-05-21 22:05:44 1259 1

转载 select 某些字段比select * 更快

1尽量养成不要使用*的习惯,select * 可能会对性能产生严重影响,有一种索引,叫做覆盖索引。准确来说它不是一种索引方式,而是一种索引覆盖查询列程度。比如有一个常用查询,只需要用到表中的某两列,user_id和post_id,而且有一个多列索引已经覆盖了这两个列,那么这个索引就是这个查询的覆盖索引了。如果select `user_id`,`post_id` from xxx 的话,mysq...

2019-05-21 22:02:58 4681 1

转载 MySQL覆盖索引和优化

聚集索引和辅助索引聚集索引(主键索引)—innodb存储引擎是索引组织表,即表中的数据按照主键顺序存放。而聚集索引就是按照每张表的主键构造一颗B+树,同时叶子节点中存放的即为整张表的记录数据—聚集索引的叶子节点称为数据页,数据页,数据页!重要的事说三遍。聚集索引的这个特性决定了索引组织表中的数据也是索引的一部分。辅助索引(二级索引)—非主键索引—叶子节点=键值+书签。Innod...

2019-05-21 21:53:59 482

原创 HIve 在指定位置添加字段

分两步,先添加字段到最后(add columns),然后再移动到指定位置(change)alter table table_name add columns (c_time string comment '当前时间'); -- 正确,添加在最后alter table table_name change c_time c_time string after address ; -- 正确,...

2019-05-12 19:31:28 24983 3

原创 Hive内部表 外部表 区别

以下基于Hive 2.0.0-SNAPSHOT,本人亲自实验的结论!!1添加字段会导致表结构同时改变,与是否是外部表内部表无关,也与是否指定location无关!从本地load新分区的数据会导致表的分区信息同时改变,与是否是外部表内部表无关,也与是否指定location无关!2drop表时,如果是指定location的表,会把路径下的数据文件删掉,只保留空的二级及以上目录;...

2019-05-11 16:21:47 1566 1

原创 《effective java》66:同步访问共享的可变数据

1public class ConcurrentAccessShareVariable66 { private static boolean stopFlag; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(new Runn...

2019-05-09 21:26:35 185

原创 hive 列转行

方法1:(不报错,达不到效果)select count(*) as new_count1 from sales_info where dt='2019-04-26'union allselect count(*) as new_count2 from sales_info where dt='2019-04-26'方法2:(报错)select T1.new_count1...

2019-05-09 20:36:14 623

原创 第68条:executor和task优先于线程

为啥呢?新创建的线程缺少有效的管理,可重用性差,线程过多会造成线程切换上的额外开销

2019-05-08 21:10:42 202

原创 java往hive 的map类型字段写数据

该表的该字段类型是map<string,string>对应类的该属性的类型需要定义成String,不可定义成Map<String,String> !!方法1:建表语句定义map的分隔符:row format delimited fields terminated by '|' collection items terminated by ',' m...

2019-05-06 21:36:11 2665

split_csv.sh

v6.csv有200多万行,excel的一个sheet最多显示104万行左右,显示不全,那么如何切分呢? 亲测可用

2020-03-21

htmlunit-2.31.jar

htmlunit-2.31,亲测可用!能很好的完成抓取需求,能够模拟输入、点击按钮、解析结果

2018-06-10

mhd raw metaimage java读取类

亲测可用,mhd raw metaimage java读取类。mhd raw metaimage java读取类。mhd raw metaimage java读取类。

2017-10-18

quartz定时任务

不用集成Spring,代码简洁,亲测可用

2017-05-20

Struts2登录实例--亲测可用

Struts2登录实例--亲测可用,拦截器,Action,值栈......都用到了

2017-05-17

joda-time-2.3.jar

DateTime类型,方便使用

2016-11-17

commons-lang-2.5.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils问题

2016-07-08

commons-configuration-1.6.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration, 亲测可用

2016-07-08

android通过servlet与服务器验证用户信息

成功返回success,失败返回failed 1注意manifext.xml的权限 2 servlet project的类一定要extends httpservlet 3 servlet project中,com是包名,所以Tomcat是...classes/com/xxx.class 4 192.168.0.107是电脑的IP,需要手机电脑连接的是同一个wifi,电脑的防火墙一定要关闭

2016-03-26

全国省市县区域名称

省市县区域名称,例如: ................. 240: 云南省:昆明市 240864: 云南省 昆明市 东川区 240865: 云南省 昆明市 五华区 240866: 云南省 昆明市 呈贡县 240867: 云南省 昆明市 安宁市 ............

2015-11-17

拼图游戏C语言

拼图游戏开发,使用语言为C语言类,游戏开发,

2013-05-24

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

TA关注的人

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