- 博客(96)
- 收藏
- 关注
转载 ES(Elasticsearch)
基本概念Elasticsearch是一个实时分布式搜索和分析引擎支持:全文搜索结构化搜索分析可以这样进行描述:分布式的实时文件存储,每个字段都被索引并可被搜索分布式的实时分析搜索引擎可以扩展到上百台服务器,处理PB级结构化或非结构化数据所有的这些功能被集成到一个服务里面,你的应用可以通过简单的RESTful API、各种语言的客户端...
2019-03-20 11:28:00 177
转载 java8中optional和.stream().map()
使用optional的好处:是一个可以包含或不可以包含非空值的容器对象,更加友好的处理程序中的空对象。Optional<T>有方法isPresent()和get()是用来检查其包含的对象是否为空或不是,然后返回它,如:Optional<SomeType> someValue = someMethod();if (someValue.isPres...
2019-02-25 16:10:00 959
转载 设计模式-builder(构造器模式)
好处:多个属性时,可以清楚明了知道属性,重叠构造起器的安全性和JavaBeans模式的可读性只需要制定需要建造的类型就可以得到他们实例;public class NutritionFacts { private final int servingSize; private final int servings; private ...
2019-02-21 14:40:00 205
转载 throw与throws
throws可以单独使用(一直上抛)throw要么和try-catch-finally语句配套使用,要么与throws配套使用/*** 总结:* 1.throws是方法抛出异常。如: public int method() throws Exception{//code.....}* a.如果,方法体中有异常并使用try-catch捕获异常并处理,则方...
2019-02-18 10:47:00 110
转载 异常java.lang.NumberFormatException解决
原因一:超出了int类型的取值范围项目中要把十六进制字符串转化为十进制,用到了到了Integer.parseInt(str1.trim(), 16);这个是不是后抛出java.lang.NumberFormatException异常,让老子看了半天!后来发现是超出了int类型的取值范围,要用BigInteger big = new BigInteger(str1....
2019-01-21 19:43:00 1162
转载 java读取各种类型文件
用到的几个包bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-dev.jar/lucene-core-2.0.0.jar/PDFBox-0.7.3.jar/poi-3.0-alpha3-20061212.jar/poi-contrib-3.0-alpha3-200612...
2019-01-14 14:31:00 412
转载 读取CSV文件
@Data@Builder//构造器public class CtripCommentReviewId { private String reviewId;}public class CtripCommentCleanByFileTask { public static final String file_path = "/home/q/comm...
2019-01-14 11:02:00 117
转载 springMVC控制器,处理器,映射器,适配器
前端控制器DispatcherServlet<!--定义spring mvc 的前端控制器Servlet --><servlet> <!--Servlet的名称--> <servlet-name>SpringMVC</servlet-name> <!--Servlet对应的java类--> ...
2018-09-07 19:22:00 340
转载 【算法】单源最短路——Dijkstra
对于固定起点的最短路算法,我们称之为单源最短路算法。单源最短路算法很多,最常见的就是dijkstra算法。dijkstra主要用的是一种贪心的思想,就是说如果i...s...t...j是最短路,那么i和j之间的任意两点s,t之间也一定是最短路,非常好证,如果s,t之间不是最短路,那么必然存在最短路,那么i到j也不是最短路造成了矛盾。而dijkstra就是运用这样的思想,把起点首先...
2018-04-24 10:05:00 114
转载 海量数据处理之top K问题
题目:CVTE笔试题https://www.1024do.com/?p=3949搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,...
2018-04-24 09:53:00 385
转载 高性能场景下,HashMap的优化使用建议
1. HashMap 在JDK 7 与 JDK8 下的差别顺便理一下HashMap.get(Object key)的几个关键步骤,作为后面讨论的基础。1.1 获取key的HashCode并二次加工因为对原Key的hashCode质量没信心,怕会存在大量冲突,HashMap进行了二次加工。JDK7的做法:h ^= (h >>> 20) ^ (h &...
2018-04-23 15:32:00 122
转载 Java中的值传递与引用传递
1.基本类型和引用类型在内存中的保存Java中数据类型分为两大类,基本类型和对象类型。相应的,变量也有两种类型:基本类型和引用类型。基本类型的变量保存原始值,即它代表的值就是数值本身;而引用类型的变量保存引用值,”引用值”指向内存空间的地址(存放对象(数据)的首地址),代表了某个对象的引用,而不是对象本身, 对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,s...
2018-04-16 10:26:00 95
转载 Java的三种代理模式
https://blog.csdn.net/goskalrie/article/details/524587731.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果...
2018-04-10 21:40:00 78
转载 垃圾收集器(GC)
堆分区:所有new的对象都会存放在堆中 > 新生代(Young Generation):存放生命周期短的对象,具体还分为Eden和Survivor两个区,其中Survivor分为From Space和To Space; > 旧生代(Old Generation):存放生命周期长的对象 > 持久代(Permenent Generatio...
2018-04-10 21:07:00 98
转载 线程池的执行原则及配置参数详解
池是一种非常优秀的设计思想,通过建立池可以有效的利用系统资源,节约系统性能。Java 中的线程池就是一种非常好的实现,从 JDK 1.5 开始 Java 提供了一个线程工厂 Executors 用来生成线程池,通过 Executors 可以方便的生成不同类型的线程池。但是要更好的理解使用线程池,就需要了解线程池的配置参数意义以及线程池的具体工作机制线程池的好处引用自 并发编程网 ...
2018-04-10 21:06:00 354
转载 java 创建string对象机制 字符串缓冲池 字符串拼接机制 字符串中intern()方法...
字符串常量池:字符串常量池在方法区中为了优化空间,为了减少在JVM中创建的字符串的数量,字符串类维护了一个字符串池,每当代码创建字符串常量时,JVM会首先检查字符串常量池。如果字符串已经存在池中,就返回池中的实例引用。如果字符串不在池中,就会实例化一个字符串并放到池中。Java能够进行这样的优化是因为字符串是不可变的,可以不用担心数据冲突进行共享。所以,在常量池中的这些字符串不会被垃...
2018-04-10 20:30:00 121
转载 深入剖析Java中的装箱和拆箱(缓存池技术)
以下是本文的目录大纲:一.什么是装箱?什么是拆箱? 简单一点说,装箱就是 自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。二.装箱和拆箱是如何实现的 1:反编译class文件:javap -c 类名 2:装箱过程是通过调用包装器(Integer)的valueOf方法实现的,而拆箱过程是通过调用包装器的 xxxValue方法实...
2018-04-10 11:41:00 162
转载 单例模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯...
2018-04-09 13:56:00 60
转载 【深入理解Java集合框架】红黑树讲解(上)
来源:史上最清晰的红黑树讲解(上) - CarpenterLee作者:CarpenterLee(转载已获得作者许可,如需转载请与原作者联系)文中所有图片点击之后均可查看大图!史上最清晰的红黑树讲解(上)本文github地址本文以Java TreeMap为例,从源代码层面,结合详细的图解,剥茧抽丝地讲解红黑树(Red-Black tree)的插入,删除以及由此产生的...
2018-04-08 21:18:00 149
转载 红黑树( Red-Black Tree ) - 笔记
1. 红黑树属性:根到叶子的路径中,最长路径不大于最短路径的两倍。2. 红黑树是一个二叉搜索树,并且有 a. 每个节点除了有左、右、父节点的属性外,还有颜色属性,红色或者黑色。 b. (根属性) 红黑树的根只能是黑色 c. (红色属性) 红色节点的子节点只能是黑色 d. (黑色属性) 从给定的节点到其后代叶子节点的每一条路径上,出现的黑色节点数目...
2018-04-08 21:03:00 108
转载 TreeMap - 源代码学习笔记
TreeMap 实现了 NavigableMap 接口,而NavigableMap 接口继承于SortedMap接口。 所有本文还会记录 SortedMap 和NavigableMap 的阅读笔记。SortedMap1. 排序的比较应该和 equals(Object) 保持一致2. 应该提供四种“标准”的构造器 1). 无参构造器 2). 带一个 Compar...
2018-04-08 16:42:00 139
转载 我的心曾悲伤七次
The first time when I saw her being meek that she might attain height.第一次,当它本可进取时,却故作谦卑;The second time when I saw her limping before the crippled....
2018-04-08 15:37:00 65
转载 我相信,青春没有地平线
或许,“青春是道明媚的忧伤。” --题记 听着那首熟悉的旋律,唱着那些熟悉的字句:“想飞上天,和太阳肩并肩,世界等着我去改变,想做的梦,从不怕别人看见,在这里我都能实现,大声欢笑让你我肩并肩,何处不能欢乐无限,抛开烦恼,勇敢的大步向前,我就站在舞台中间。我相信我就是我,我相信明天,我相信青春没有地平线,在日落的海边,在热闹的大街,都是我心中最美的乐园。我相信自由自在,我相信希望,我相...
2018-04-08 15:36:00 519
转载 太容易失去的东西,往往本来就不属于你。
http://www.360doc.com/content/14/0307/08/1720781_358410387.shtml太容易失去的东西,往往本来就不属于你。☉太容易失去的东西,往往本来就不属于你。真正属于你的东西,即使被短暂遗忘了,铺满了灰尘,也会牢牢霸占你内心的一个角落,等着终有一刻被击中被唤醒,就像初恋跟梦想。| 超现实主义摄影师Alexandra ...
2018-04-08 15:35:00 238
转载 生活的悲欢离合远在地平线以外,而眺望是一种青春的姿态
生活的悲欢离合远在地平线以外,而眺望是一种青春的姿态。☉那时我们还年轻。穿过残垣断壁苍松古柏,我们来到山崖上。沐浴着夕阳,心静如水,我们向云雾飘荡的远方眺望。其实啥也看不到,生活的悲欢离合远在地平线以外,而眺望是一种青春的姿态。——北岛《青灯》 |摄影:Mattijn Franssen☉Time heals almost e...
2018-04-08 15:31:00 977
转载 顺便谈谈对于Java程序猿学习当中各个阶段的建议
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。 但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。 其实之前LZ...
2018-04-08 14:08:00 144
转载 Memcached内存管理模型分析
Memcached 是一个高性能的分布式内存对象缓存系统,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而减轻RDBMS的负担,提高服务的速度、提升可扩展性。本文将基于memcached1.4.15版本源码,对其内存模型进行分析。 首先从业务需求出发。我们通过一条命令(如set)将一条键值对(key,value)插入memcached后,需要能够做到:1、对该...
2018-04-08 13:40:00 82
转载 内存管理和GC算法以及回收策略
JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:JVM内存回收Sun的JVMGenerationalCollecting(垃圾回收)原理是这样的:把对象分为年青代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命周期分析)1.Young(年轻代)...
2018-04-08 13:16:00 620
转载 JVM内存模型
什么是Java虚拟机此处涉及到两个概念:Java虚拟机,相当于我们定义的Java类Java虚拟机实例,相当于new一个Java类注意:Java虚拟机通过java.exe或javaw.exe来启动一个Java虚拟机实例JVM生命周期Java虚拟机中存在两种线程:守护线程,例GC线程非守护线程,例main函数、自定义的线程注:java虚拟机...
2018-04-08 11:56:00 75
转载 分布式与集群的区别是什么?
http://blog.csdn.net/cutesource/article/details/5811914在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,...
2018-04-03 10:02:00 59
转载 去哪儿网2018春招软件开发工程师、前段开发工程师编程题 - 题解
不难,都是常规的操作,故题解写得简单点。软件开发工程师编程题第一题:在字典中找自己的逆序题目有一个单词列表,一个初始单词,初始单词需要通过单词列表逐步变换得到自己的逆序,求变换所需的最短变换路径长度。变换规则:每次只能变动1个字母,每次变换只能从单词列表中选取。例如:初始单词hot,其逆序为toh,单词列表[doh, got, dot, god, tod,...
2018-04-02 18:39:00 119
转载 Integer与int的区别(转)
如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助。 首...
2018-03-31 11:37:00 72
转载 数据库的悲观锁和乐观锁
锁( locking )业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是...
2018-03-30 15:33:00 86
转载 TCP拥塞控制和流量控制
TCP 的流量控制与拥塞控制可以说是一体的。流量控制是通过滑动窗口实现的,拥塞避免主要包含以下2个内容:(1)慢开始,拥塞避免(2)快重传,快恢复1.流量控制——滑动窗口TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节。发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。...
2018-03-30 15:18:00 130
转载 进程间通信(IPC)介绍
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古...
2018-03-28 20:53:00 177
转载 mysql数据库存储引擎及区别
MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHI...
2018-03-27 13:11:00 83
转载 大型网站应用之海量数据和高并发解决方案总结一二
《高性能网站建设进阶指南-Web开发者性能优化最佳实践(口碑网前端团队 翻译)》这本书中,对网站性能的前端界面提供了一些很宝贵的经验,如下:因此,在这些静态资源的处理上,选择正确的处理方式还是对整体网站性能还是有很大帮助的!(3)数据库优化数据库优化是整个网站性能优化的最基础的一个环节,因为,大多数网站性能的瓶颈都是开在数据库IO操作上,虽然提供了缓存技术,但是对数据库的...
2018-03-27 10:09:00 112
转载 我对AOP的理解
我对AOP的理解1、问题问题:想要添加日志记录、性能监控、安全监测2、最初解决方案2.1、最初解决方案缺点:太多重复代码,且紧耦合2.2、抽象类进行共性设计,子类进行个性设计,此处不讲解,缺点一荣俱荣,一损俱损2.3、使用装饰器模式/代理模式改进的解决方案装饰器模式:动态地给一个对象添加一些额外的职责。就增加功能来说, ...
2018-03-26 10:49:00 82
转载 Spring系列之Spring常用注解总结
Spring系列之Spring常用注解总结传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦...
2018-03-26 09:11:00 88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人