- 博客(39)
- 收藏
- 关注
原创 Scaling Memcache at Facebook 阅读笔记
这篇笔记是对于https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final170_update.pdf这篇文档的阅读记录,文中按照“延迟和负载” “区域内机制”“区域间机制”等三个方面对于Facebook的缓存系统进行了一个介绍,但是内容的排布让人难以一下理解其系统的原本面貌,在此做读书笔记,按照自己的理解对于文中的内容...
2019-11-07 23:32:37
410
原创 Btrace使用详解以及实践
BtraceBtrace是一种java性能观测的工具,其项目地址为https://github.com/btraceio/btrace根据开发项目组对于此工具的描述为一种安全的动态java跟踪工具其原理是通过连接指定的正在运行的虚拟机,并根据脚本对于指定的方法进行字节码的替换,导致在执行正常代码的过程中获取并打印需要的信息。 Btrace环境支持Btace对于运行的环境有个明确的要求,需要运行在J...
2018-04-07 23:16:09
1037
原创 NIO使用实例
具体的就不多讲了这里只是一个简单的例子,方便本人日后查阅SERVER:import java.net.InetSocketAddress;import java.net.StandardSocketOptions;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.chan
2017-09-07 22:58:41
421
原创 实战java高并发程序设计读书笔记一
基本概念同步异步 同步和异步这两个是相对的概念用来描述方法的调用。同步指的是方法调用开始方法的调用者必须等待方法调用返回时,才能进行下一步操作。而相对的概念异步就是相反,调用者不需要进行等待。并发并行 并发和并行两个概念特别的容易混淆,他们都表示两个以上的任务一起的执行,但是两个概念却又有稍微的区别。并发偏向于有多个相同的任务一起需要执行,具体的执行方式一般来说指的都是交替
2017-07-05 00:09:58
551
原创 java性能调优权威指南读书笔记七(延迟调优)
延迟调优这一步调优的目的是达到程序的延迟性需求,其中的手段有优化java堆的大小的配置,不同垃圾收集器的切换在这里我们的延迟调优指的是最大延迟时间,所以以这个标准为目的我们在调优的时候需要减少每次垃圾收集的时间,这就需要我们的垃圾收集需要使用高次数低停顿的策略所以我们会在一下的几个活动中进行对于垃圾收集器的延迟影响的评估测量MinorGC的持续时间通知MinorGC的次数测
2017-07-01 23:59:04
479
原创 grpc 创建java服务端以及客户端示例
这几天工作中需要用到grpc进行交互,找到的相关非常多的中文资料,表示大部分都是抄自官网的,没什么自己的理解和解说,导致我花了差不多一整天的工作日才搞明白怎么回事,这里我就写个简单易懂的方法进行记录,以备哪天忘记了可以查阅。 首先我们抛弃官网那一套重新来进行操作一遍,我是用的是IDEA具体的IDE这个问题视个人情况而定,首先是千篇一律的创建一个空的maven工程。这个空的工
2017-06-27 12:34:04
15709
6
原创 java性能调优权威指南读书笔记六(JVM性能调优)
基本方法 首先要明确一点,当性能的优化已经到达JVM调优的层级,请先确保在代码以及数据结构的层面已经对于应用进行了足够的优化。其次,JVM的优化内容已经相对比较底层,其优化的细节更多的是满足于应用对于某一个或者是某几个方面性能的要求,并且这些优化的实现往往伴随着其余一个或多个方面的性能牺牲或者是硬件的以及软件的升级。在JVM调优的时候需要明确调优的需求,之后需要选择JVM的部署模式、可
2017-06-27 00:37:28
883
原创 JAVA性能优化权威指南 读书笔记五
Java应用分析技巧1性能优化机会大多数的java性能优化都集中于以下几类:1更高效的算法2减少锁争用3为算法生成更有效的代码 2系统或内核态CPU的使用 在理想状态下应用的使用系统态CPU应该是0%,但是对于大多数存在I/O调用需要的应用来说这个目标不现实,所以在这里我们需要降低I/O系统的调用频率,例如使用数据缓存,一大块的数据进行统一的写入和读出等。
2016-12-08 21:36:54
975
原创 JAVA性能优化权威指南 读书笔记四
HotSpot JIT编译器简介 编译指的是从编程完成的代码转化到机器能够是使用的机器码的过程,在这个过程中开发人员可能需要等待很长一段时间才能得到最终可以运行的软件。JAVA采用了另外一种角度来解决这个问题,由于JAVA是基于JVM虚拟机的一种语言,这就使得java可以将编译的过程分为两个步骤。先将代码编译成虚拟机JVM能够看懂的部分(class),然后再由虚拟机进行动态的将应用执行的
2016-12-04 13:45:42
853
原创 JAVA性能优化权威指南 读书笔记(三)
HotSpot VM的垃圾收集机制 首先我们需要明确这个知识点,我们在java中所说的垃圾收集机制指的都是在java堆中的垃圾收集。Java虚拟机规范要求所有的JVM都能适当的回收闲置内存,垃圾收集器的运行方式和执行效率对于应用的性能和相应有着极大的影响。分代垃圾收集 在HotSpot VM中使用分代垃圾收集器,这个逻辑基于以下事实: 大多数分配对象的存活时间都非常短
2016-11-29 22:59:37
824
原创 JAVA性能优化权威指南 读书笔记(二)
JVM概览HotSpot VM基本构架 HotSpot VM主要分为三个部分,VM运行时,JIT编译器,内存管理器。其中详细的关系通过阅读其实没有很好的理清楚,但是这并不是书本的重点我就不进行记录了。 早期的hotspot VM是32位的,所以内存空间被限定在4G(2的32次方个地址位空间),但是其实在运用中java堆的大小还会受限于底层的操作系统的限制。 随着时代和技术的发
2016-11-28 23:12:43
801
原创 JAVA性能优化权威指南 读书笔记(一)
JAVA性能优化权威指南 读书笔记 最近也算是比较认真的读了一下java性能优化权威指南,期间断断续续持续了大概一个半月,深感自己读书的效率和积极性还是存在问题,总之,在此我还是先记录一下相关的收获和感悟。其中书本中相对比较模糊的概念我在这里不进行太过详细的阐述,只有部分明确的概念会详细解释。操作系统性能监控 首先书本讲述的性能优化,那么我们就有必要从java有哪些在运行中比较直观
2016-11-27 21:27:50
2563
原创 只争朝夕
最近换了一家公司,从一家传统行业的公司换到了一家以技术为主导的公司,这家公司规模不大,做的东西却很牛,在里面接触了两天,感觉真是技术代差好大,我之前使用的servlert都根本被舍弃了,直接采用的是scala进行的,只有少量的是使用的java这个搞得我好紧张,只有不断努力学习才能跟上脚步吧,感觉前两年的时间里面完全被浪费了,这个现在缺少了这两年的发展,在这些技术上我真的只能努力追赶,只争朝夕!!
2016-10-25 23:16:45
368
原创 Spring学习笔记三
Spring依赖注入 当我们在一个类A中需要使用另一个类B的时候我们就称之为A对于B的依赖,越是大的项目依赖就越是复杂,如果有朝一日需要对于项目进行重构或者是其他的重写的话,依赖复杂的情况将对于我们来说造成不小的阻碍。 所以我们理所当然的寻求一种减少我们依赖的方式和方法,以及框架之类的帮助,之后Spring成功的提供了这个功能——依赖注入。这个功能配合接口类的时候方便我们极大的降低
2016-10-20 16:09:35
257
原创 Clean Code读后感一
最近由于一系列原因正在艰苦的啃书中(主要原因还是在面试的时候被教育了,确实发现自己没有阅读的习惯,这个习惯正在准备慢慢养成中),先感觉还是了解一下代码的各种规范再说。 首先只能说这本书真的是惊到我了,我感觉之前工作中的代码被批得体无完肤,真是惨,具体的细节和震惊到我的部分我会在下面详细的列出来。开篇的文章就对我来说很有共鸣感,之前的工作中也出现过这种的情况,之前的工作中有些需
2016-10-17 22:14:25
1908
原创 Spring学习笔记二
多种方法实例化Bean 在我们通过XML配置Bean的过程中其实我们可以使用多种的初始化办法来获取我们的Bean实例,基本上可以分为以下的三种1、使用类构造器2、使用静态工厂方法3、使用实例工厂方法 对应于以上的三种情况,我们在配置的时候会可以出现三种配置的方法然后列出我们这次实验使用的Bean类以及工厂方法类package test.bea
2016-10-16 15:39:22
212
原创 Spring学习笔记一
在最近面试的单位好像使用Spring的比较多,我还是在入职之前先再次的回顾一下Spring这个框架的相关原理以及使用方法。照例我们还是以应用为驱动,先了解我们该怎么应用这个Spring来完成我们的功能。 Spring对于我们来说基本上是控制反转和依赖注入用的比较多,所以我们这里我们先从这个控制反转进行最基础的学习。所以我们就新建一个项目导入spring的相关JAR包
2016-10-15 23:27:00
270
原创 Java String部分内容详解
在我们的不论是应用还是面试中这个String的详细概念总是一道绕不过去的坎,在这里我想就String的这个类和对象进行比较详细的归纳和整理,以期望在今后的工作或者是面试用得到的时候能够少走点弯路。关于String的存储形式以及相关问题 我们都知道String的存储是通过一个对象的形式存储的,我们声明String的时候存在一个String对象的引用以及引用地址的数据组成的。
2016-10-15 00:41:44
825
原创 redis学习笔记三
之前我们基本完成了redis在windows下面的安装以及服务的启动,现在我们来讨论下服务启动之后我们应该怎么来应用redis为我们的目的服务。我们昨天已经进行过最基础的操作set key-value以及get key的操作,现在我们就继续整理其他的基本操作方法Del(删除)在这里我们尝试了删除del命令带来的结果,可见确实在删除命令执行之后我们在redis中的dele
2016-10-12 23:19:37
307
原创 MyBatis学习笔记四(MyBatis多表查询)
这次我们要多牵涉到一张表格T_ORGAN我们通过表格T_USER的ORGAN_ID和表格T_ORGAN进行关联。具体的T_ORGAN表格的建表SQL如下CREATE TABLE `T_ORGAN` (`ORGAN_ID` varchar(10) ,`ORGAN_NAME` varchar(300) )然后我们在之前我们的Mapping类里面新建一个方法以及相关的SQL@S
2016-10-11 21:39:06
391
原创 Mybatis学习笔记三
通过配置属性文件进行相关配置数据的设置我们直接通过xml配置的那个连接信息是比较方便的一个过程,但是有时候我们会采用更加方便的模式,采用conf.properties进行配置的方法,因为我们在实际应用中一般这个conf.properties都是由服务器的管理者或者是客户自己在自己的环境上进行的操作和处理。所以我们可以通过引入文件的信息使得我们只需要改动服务器环境上的配置信息文件就可以获
2016-10-11 21:36:09
312
原创 redis学习笔记二(redis的数据类型)
之前在学习的时候我看到了关于redis数据类型的描述,于是就华丽的跳过了这个部分,但是我马上在之后的学习中遇见了困难,所以在这里我还是用简单的篇幅讲redis的数据类型从新整理一下,以备不时之需。String 字符串这个是redis默认的基本类型,我们之前的关于set和get的操作操作的其实都是这种类型的数据,但是事实上String并不是非得存放String类型的数据,因为这个Stirng
2016-10-10 12:00:54
382
原创 MyBatis学习笔记二
之前的文章中我们已经实现了mybatis的方法调用以及参数的传递,这一次我们要尝试使用其他办法譬如注解来解决相关问题,然后看看能不能使我们的代码变得更加的简洁和方便。我们继续使用之前的项目进行尝试,在之前的项目上进行改动,这能在一定程度上减少我们浪费的时间使用注解的方式要求我们新建这些表格的对应接口,然后我们就能通过session生成我们的mapper的实体类,然后通过实体类再执行各个SQ
2016-10-09 23:07:16
238
原创 redis学习笔记一
在我之前的印象中redis是一种用来处理缓存的技术,但是等到开始学习redis的时候我却发现这个技术没有我想象的这么简单,这个redis竟然能够被拿来当作数据库使用,与其说这个是一种缓存技术还不如说这个是一种新的在web系统中的数据存储的部分。接下来的内容将是一些理论性的内容,我们首先要从起源上认识这个东西,和传统的web的组成就会有区别了。然后首先我们要在自己的电脑上装一个redis,但
2016-10-09 11:17:47
214
原创 关于那些年轻的岁月
终于结束了我的第一份工作,只身一人来到了上海未来对于我来说充满了诱惑,但是到达上海的我却有一些后悔,也许如果我没有办法找到一个像样的工作的话,说不定会一直的漂泊呢,青旅里面有些人口是常驻的,但是他们的状态让我感到害怕,怕是如果我一直在上海,说不定再过个几年十几年我也会是那样,只身一人垂垂老矣,也对于未来没什么期望,也没有什么积蓄,人生完全走到了迷途,这些大概是我印象中最糟糕的结果了吧。漂泊的人
2016-10-08 21:31:10
287
原创 Mybatis学习记录一
在平时的工作中对于web工程的持久层框架没有什么应用(我所在的项目使用JDBC),所以还是得靠自己在平时给自己充电。在这里学习并记录一下mybatis的学习过程和所见所得。首先我们需要新建一个java工程,这里就不再赘述,之后我们导入相应的jar包,由于时间的关系我这里就导入了最新的jar包然后我们就需要开始我们的第一个测试工程了,先准备数据库中的表格,在我这里简单的建一张测试
2016-10-08 21:18:57
261
原创 HttpClient网络接口交互
在我之前的工作经历中有使用HttpClient直接进行的网络数据的传输,然后在这里我就将这个的过程以及相关的代码记录一下以防之后可能会使用到。在这里我们简单的记录使用Httpclient进行接口的服务提供以及服务调用的两个方面的过程服务端在使用Httpclient进行数据交互的时候服务端的要求比较简单,一个servlet即可,在其中的部分数据的获取可能存在某些特殊的步骤,但是总
2016-10-05 22:58:57
369
原创 通过IDE生成和手动call调用webservice
通过IDE自动生成的代码调用webservice服务我们的IDE一般来说都是能够通过各种各样的工具来支持我们的开发使我们的开发变得更加的便捷。对于webservice来说自然也是如此,所以我们可以轻松的调用webservice插件来进行客户端代码的生成。在这里我们直接new就可以了把我们本地的WSDL的地址输入进去直接finish,自动生成了一堆的类和对象
2016-10-04 22:05:16
3695
原创 关于AXIS1.4实现webservice接口部署的基础实例
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。它的功能是实现简单易懂的接口交互,相较于传统的Httpclient来说更加方便(相当于对于Httpclient的一层封装),由于这个封装是公共的,并且由于其方便的使用方式(尤其是在IDE中存在相关的webservic
2016-10-04 21:55:50
3342
原创 ETL简单的操作以及开发方式记录(KETTLE)三
我们这个ETL的制作往往是为了我们数据的转移,但是有时候我们要的不仅仅是数据转移,很多地方我们需要的数据同步,比如每五分钟同步用户数据之类的,这种在多系统协作的一个公司应用中还是经常出现的。所以我们就要想一个办法,让他能够没多少时间进行自动的执行,使得我们不至于每五分钟去手动执行一次。接下来的内容,首先我们要解决两个问题一,在没有人的条件下怎么自动执行ETL,二,我们怎么控制定时执行。
2016-10-03 11:00:25
3337
原创 ETL简单的操作以及开发方式记录(KETTLE)二
上次的笔记简单记录了相关ETL的基本概念相关信息以及最后使用了一个简单的Demo进行了ETL最基本的数据转存的情况。在这里我们继续深发,看看有什么是在我们平时工作中会使用到的ETL的其他应用方法,就上节而言,我们使用的是table output这个组件作为我们的输出,简单来看我们只需要填写目的表格的名称,这个显然没有办法满足来自客户的各种奇葩的要求,甚至最简单的UPDATE/INSERT都没法
2016-10-03 10:43:42
850
原创 ETL简单的操作以及开发方式记录(KETTLE)一
最近由于比较多的与新的第三方系统进行各种数据的交互,免不了要把实时的用户表格以及代码表格同步过去,这个时候我们就想说使用比较低成本和简单的方式把我们需要的数据正确的同步到一个中间库中去,然后再由第三方系统通过同样的方式从中间库中取得相关的数据。于是我们就使用上了ETL。ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)
2016-09-25 18:25:43
5838
2
原创 数字签名的具体代码应用过程以及步骤
上期谈了关于数字签名的原理以及作用方式,接下来我们接聊一下数字签名在使用中的具体方式以及步骤和一些要关注的问题。 当然通过数字签名的第一步就是生成一对密钥对,包括一个公钥和一个私钥
2016-09-24 20:52:04
1453
原创 关于数字签名的应用
数字签名这个东西是用来进行通信的一种验证方式,但是与传统相区别的是数字签名的作用是用于验证,也就是说数字签名的目的并不是让可能在网络环境下的第三方无法获得传输的信息,而是保护信息在传输中的正确性,即使存在监听的第三方,第三方也只能获取信息但是无法对于信息进行篡改。 数字签名的原理其实非常简单,传输的内容将会有两个部分组成,第一个就是内容,内容与完全不加密的内容一致
2016-04-24 15:39:58
933
原创 2015/11/1
今天去看了下健身房的事,关于健身房我真的有点不确定,主要是如果能够自律的话在哪里估计都差不多吧 今天的学习可以说是毫无进展,昨天的Hollew没有能够调通,今天原来想转战Spring但是为了在Ecilpse中安装插件费了我好大的功夫,最后还是靠着官网的直接带插件的Eclipse才拯救了我。 明天估计不好过,唉进度是还可以就是在有些问题上我也不确定,
2015-11-02 00:57:22
265
原创 今天的学习和生活2015/10/31
今天终于又让自己浮躁的心冷静了下来,审视下现在的自己,要学习的技术很多,要做的事很多,前面路也很长,所以现在要对于每天的时间有一个更清晰的规划。 22:00-22:45力量训练 45分钟 现在我已67KG左右,也不瘦了,在减脂将腹肌练出来 今天学习了Spring的部分内容,然后还学了hibernate的部分内容(一个HollwWorld都没调通),虽
2015-10-31 23:24:16
344
原创 关于一些毕业一个季度以来的事
10月美好的秋天渐渐成为了令人畏缩的深秋,我做为一个新手也上路1年多了,最近的心情一直在躁动着,想要换一份高薪的工作,换一个更大的城市。直到今天JD上买的新手机到了,闲来无事把玩着新到手的手机,看着APP中推送的大牛们的博客,看到关于老板和加薪的故事,暗暗发笑原来这世界和我想到的还真是一模一样。 但就在刚刚吧,看到了一篇关于某牛人面试获得Google的offer的过
2015-10-31 21:19:27
399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人