自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 SSL证书生成,签名,验证

SSL 证书生成,CA签名,客户端验证过程

2017-09-25 16:44:36 4455 1

原创 适合小公司的 kafka日常管理脚本(上)

在小小的公司里,既缺巨牛,又缺物料,还缺必要的可视化管理工具。但这些不是工作路上的拦路虎;条条大路通罗马,但只选适合当下的路。面对小公司无统一的技术栈,也没有统一的管理工具,先选择最快的命令行工

2023-09-06 15:59:51 106

原创 适合程序员的DB性能测试工具 JMeter

天天写CRUD接口,到底写的这些接口性能咋样了?敢拿出来遛遛吗?JMeter可以让我们用数据来说话;我写的接口性能非常好,延迟小,吞吐量大。每个程序员都值得试试

2023-08-17 13:46:23 787

原创 中间件多版本冲突的4种解决方案和我们的选择

在小小的公司里面,挖呀挖呀挖。最近又挖到坑里去了。一个稳定运行多年的应用,需要在里面支持多个版本的中间件客户端;而多个版本的客户端在一个应用里运行时会有同名类冲突的矛盾。在经过询问chatGPT,百度

2023-08-08 16:56:22 1104

原创 警惕职场PUA,远离某......

在这个经济的寒冬,一职难求的时间节点,还是憋不住,想聊聊这个敏感的职场话题。想分享给更多的新人,希望能做到提前识别,有效应对,净化自身。

2023-08-07 12:27:44 110

原创 可以写进简历的kafka优化-----吞吐量提升一倍的方法

曾经解读过kafka生产端内存模型的设计;始终感觉有点偏向理论,这篇算出对之前理论性的设计论证,实际实践后的数据证据吧。如果要用一句话来总结这次的感悟和行动,想借用陆游的一句大家都很熟悉的绝句来描述:纸上得来终觉浅,绝知此事要躬行。

2023-07-31 12:26:02 814

原创 java内存管理 美好的期望与现实的残酷

在java和C++程序员之间有一堵内存的墙;墙外的人想进去;墙内的人想出来。我想我对java内存管理,经历了4个阶段;看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水;看出了另外一片天空

2023-07-26 12:14:23 158

原创 读kafka生产端源码,窥kafka设计之道(下)

如果要编写一款网络应用程序,或者网络框架的工具,我希望能向kafka一样,能考虑到内存的复用;并且减少对上层应用的影响。假设一个应用通过kafka发送50个G的网络数据;那么kafka的缓存池,就节约了10个G内存的申请和回收;由此减少了多少次GC和GC暂停时间了。那么假设有个50个这样的应用了?总的收益又是多少了?不是所有的工具都能号称是为应对大数据场景而产生的;kafka做为一款中间件,能比较好的融入大数据生态,kafka的研发人员有自己的独特设计和考虑在支撑这它。

2023-07-25 08:40:51 648

原创 适合小公司的自动化部署脚本

在小小的公司里面,快挖不动了,一件事重复个5次,还在人肉手工,身体和心理就开始不舒服了,并且违背了个人的座右铭:“偷懒”是人类进步的第一推动力。 每次想要去测试环境验证个新功

2023-07-19 17:12:39 727

原创 读kafka生产端源码,窥kafka设计之道(上)

如果要设计一款sdk去连接某个中间件,我希望能做到向kafka客户端一样的优秀;这些优秀的设计包括高性能线程模型的思考,能够提升吞吐量并且符合自身业务场景的异步批量提交;内存的重复使用避免频繁的GC;良好的封装性降低使用者心智负担;优雅的扩展性让用户能深度定制关键节点。不知道你在使用kafka客户端,或者了解的第三方客户端时,有哪些优秀的设计;欢迎评论区留言,共同学习和交流原创不易,欢迎大家点赞,收藏,转发 三暴击 ^^

2023-07-17 08:59:26 373

原创 生产环境 kafka 平滑迁移之旅

本次kafka broker停服机器维修的本质,从应用技术的角度看,是对生产环境kafka集群 高可用的一次检阅。而这次检阅是被动的一次检阅,并不是由研发主动发起的。被动检阅,有点类似搞突击检测,但我们比突击检测好的是,还可以有足够的时间为了kafka集群具备高可用,做必要的自检工作,准备工作,验证工作;也把这么多年欠的kafka高可用的技术债给还了。

2023-07-10 10:17:02 1709

原创 我是如何在linux下 安装 mongoDB的

linux下如何快速安装mongodb,可作为备份安装资料,速查手册,公司文档库资料,或者新人指导安装资料

2023-06-28 09:12:44 617

原创 为什么你的领导,总是挑刺,要求你要有自己的思考?

如何思考?其实有方法论和框架,照这做,也能提升自己的思考能力和维度。

2023-06-14 14:04:37 478

原创 在一个不小但很美的公司里工作

从一个不小但挺美的公司主动离职了;总结在前公司的得与失,优与缺。希望我的思考和方法能帮助到大家,也期待大家对我的斧正

2023-05-19 16:54:24 566

原创 职场小白如何在工作中快速的升职加薪

职场小白如何在工作中快速的升职加薪。在提升技术的同时,请别忘记软技能的修炼。请超出领导预期,工作中突出自身亮点,大胆说出自身想法

2023-05-18 09:16:17 390

转载 浅析HTTPS中间人攻击与证书校验

0x00 引言随着安全的普及,https通信应用越发广泛,但是由于对https不熟悉导致开发人员频繁错误的使用https,例如最常见的是未校验https证书从而导致“中间人攻击”,并且由于修复方案也一直是个坑,导致修复这个问题时踩各种坑,故谨以此文简单的介绍相关问题。本文第一节主要讲述https的握手过程,第二节主要讲述常见的“https中间人攻击”场景,第三节主要介绍证书校验修复

2017-09-20 16:58:52 721

原创 [置顶] 读《http 权威指南后》,写的一个只有18K 大小的httpClient

前端时间,读了《http 权威指南》后,对自己掌握的技能和理论去实现一个简单的http client,心里有点摇摇欲试。大概用了几个小时,就用java写了个简单的http client实现。         目前对http get方法,post方法测试了,没啥问题(也支持http 其它方法)。对http response 报文的解析支持两种,一种是conten-length固定长度 body实

2017-03-29 10:37:39 273

原创 [置顶] http协议初探------http request和response报文格式

搞web的程序猿,应该都知道http协议。http协议有三个版本。http 0.9版本,http 1.0版本,和现在一直在使用的http 1.1版本。RFC 2616 是http 1.1 版本的官方规范文档。另外《http 权威指南》也对http协议进行了很好的阐述。http 协议是属于应用层协议,以可靠连接TCP套接字的基础上设计的应用协议。http1.1默认是开启长连接的。 htt

2017-03-29 10:37:32 6648

原创 [置顶] java 中精度受损的一种转换计算方式

背景:           大家都知道,低精度的数字转换为高精度的数字是没有问题的,但是高精度的数字转换低精度的数字会精度受损。那精度是怎样受损的?转换的逻辑是怎样的了?以下为个人的猜想。           先上代码,1个short类型的数字,转换为byte类型的数字 @Test public void LongToInt(){ short c = 428;

2017-03-29 10:37:25 587

原创 [置顶] java 中文字符串,utf-8编码为byte数组的计算过程

背景: 对于编码解码的计算过程一直没有去研究过。以前也看了大神写的编码解码的文章,当时看了似懂非懂,没有仔细去品味,没去实践。正应了那句老话:纸上得来终觉浅,绝知此事要躬行。 为什么有编码和解码?二什么时候会出现编码和解码?编码解码的算法是怎样的?         推荐两篇文章                         http://www.ibm.com/develop

2017-03-29 10:37:15 6579 1

原创 将博客搬至CSDN

将博客搬至CSDN

2017-03-29 10:37:07 151

原创 SSL和TLS 相关知识

1 、SSL/TLS协议运行机制的概述 2、图解SSL/TLS协议 3、RSA算法原理(一) 4、RSA算法原理(二) 5、使用wireshark观察SSL/TLS握手过程--双向认证/单向认证 6、SSL/TLS 的RFC 5246

2017-03-29 10:37:00 324

原创 一种多租户系统架构

一种多租户系统架构 背景:                  去年的时候,因为某些特殊原因,有幸带了一个组,参与了B2B平台的开发。说是B2B平台,因为这套程序开发完了后,可以拿给多个客户使用。客户可以搭建一套具有京东商城风格,那样的网站。然后允许商家在网站上注册,开店,或者卖东西,买东西,网站的用户定位为商家。                  在需求分析完后,分为了三个

2017-03-29 10:36:53 11792

原创 登录业务中存在的安全问题

背景:          在互联网网站中,用户注册,登录几乎是每个网站的标配功能。在一般人看来一个小小的登录业务表面上看起来很简单 ,大概过程是这样的:用户在前台页面输入用户名和密码,然后后台web服务器拿到用户输入信息,在数据库里根据用户名和密码匹配一下,有数据返回,表示用户的账号和密码匹配成功,跳转到相关页面;没有则返回登录错误提示用户。这个小小的业务流程看似很简单,但是因为涉及到用户账号和密

2017-03-29 10:36:45 832

原创 jvm之classLoader 初探

jvm之classLoader 背景:classLoader:类加载器。大家平时在开发工具编写的代码会保存为.java文件,然后使用工具(javac命令等)把.java文件编译为.class文件。classLoder是专门查找,加载和解析.class文件。 在JVM中有三种classLoader,这三种ClassLoader都是有层级关系,并且三种ClassLoader加载.

2017-03-29 10:36:39 246

原创 jvm 体系概述

JVM 大概体系 JVM大概体系(从csdn上找的一幅图)                        从上图可以看出,JVM由四大块组成:ClassLoader类加载器,jvm内存区,执行引擎,本地方法栈 1、ClassLoader:类加载器,主要负责查找,加载,解析 .class文件到jvm内存区,以供jvm执行引擎执行加载的字节码。 2、jvm内存

2017-03-29 10:36:32 289

原创 http1.1的优化(下一代?)----http2

http1.1是1999年提出的,到现在已经历16年的风风雨雨,而且未来很长一段时间内,http1.1可能会继续是主流。随着业务和技术的发展,http 1.1 可以进行优化-------http2。         http 2个人感觉并不是为了取代现在的http1.1,而是http 1.1的一种优化。这可以从http2中的某些特点中看出         1、提倡或者只能在https上使用

2017-03-29 10:36:24 282

原创 http 协议之安全--------https

大家都知道,在浏览器里输入一个web网址,浏览器会发送一个http请求,请求远方服务器上的资源。浏览器发送的http包信息会经过多个路由器或者交换机才能到达远方服务器。在网络传输的过程中,如果有黑客入侵到路由器或者交换机(比如家里的路由器被黑),估计经过这些路由器的网络数据,很容易就被网络抓包(特别是抓出http 头部的信息里的cookie信息,然后把cookie信息在写入自己的浏览器冒充受害者,

2017-03-29 10:36:17 1438

原创 java-httpclient-18k 改进一,支持http异步,回调,https

这篇文章是上篇文章的继续 “读《http 权威指南后》,写的一个只有18K 大小的httpClient”,化了几天业余时间,大概实现了http 以下功能              1、异步调用和回调              2、多个http的并行调用              3、https(同步异步都支持)     github地址:https://github.com/jac

2017-03-29 10:36:07 1138

原创 无限for循环

今天合并主干后,发现在我提交主干前,已有同事提交代码到了主干,当时也没有多想。直接就上线了。上线完一验证,列表页出不来,其他页面也在报网络异常,赶紧回滚。分析线上错误日志,发现dubbo的线程池用完了,其它请求已经有丢失的情况,具体线程耗在哪里当时也着急,没有保留一台实例,就全部回滚了。光从线程已经全部吃掉,初步怀疑为某个服务执行时间过长,一直占着执行线程不放。想到前段时间听别人说有一个接口非常耗

2017-03-29 10:36:01 2314

原创 session集群猜想(一)

应用在做集群时,session数据的共享是怎样处理的了?猜想有三种处理方式。本文只是从理论上分析其方法,不会涉及到具体的操作。  假设有一台前端分发器a1,应用服务器s1,s2,缓存服务器c1和一台备份的缓存c2,数据库d1  第一种   把session放到应用服务器一层,s1和s2中的session数据保持一至,即使其中有一台应用服务器荡掉,也可以用其它应用服务器,并且session中的数

2017-03-29 10:35:46 167

原创 maven,svn,team city初识

最近需要对项目的编译,打包,持续集成做配合,了解了一下,我们的项目采用maven来编译和打包,使用svn管理源代码库,team city 做持续集成与发布。有很多不明白,先记录下来,后面慢慢研究。

2017-03-29 10:35:40 259

原创 java正则表达式转义

在学习java正则表达式时,遇到三个问题。1、java字符串和正则模式的字符串很不清楚2、正则中有捕获组的概念,并且还能对捕获后的组进行字符串替换,即appendReplacement(StringBuffer sb, String replacement)方法的原理不清楚3、为什么在调用appendReplacement(StringBuffer sb, String replacemen

2017-03-29 10:35:33 824

原创 困难的需求

最近项目已经结项了,项目组基本上没有什么事了!我们老大叫我去做需求,自己吓了一跳,叫一个刚毕业半年的应届生去做需求分析师做的事情,有点赶鸭子上架的意思,呵呵,可是心理觉得还是挺爽的,为什么了,说明我们老大有意培养我。   高兴归高兴,可是这个需求还是挺难的,也是要做的。其实说难也是不难,就是做一个缓存的需求。大家都知道缓存嘛,不就是以空间换时间,把数据放内存中了。现在不是有很多优秀的开源缓存框架

2017-03-29 10:35:24 484

转载 Java 动态加载类

 第一部分:Java虚拟机启动时,关于类加载方面的一些动作 当使用java ProgramName.class运行程序时,Java找到JRE,接着找到jvm.dll,把该动态库载入内存,这就是JVM。然后加载其它动态库, 并激活JVM。JVM激活之后会进行一些初始化工作,之后生成BootstrapLoader,该Class L

2010-05-05 15:35:00 1755

原创 HTTP协议的运作方式

 转载自http://blog.csdn.net/fightplane/archive/2008/03/14/2181516.aspxHTTP协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议

2009-11-16 22:05:00 453

原创 理解Java ClassLoader机制(转自http://www.blogjava.net/pandawang/archive/2007/10/05/64639.html)

 ava.lang.NoClassDefFoundError: com/sun/tools/javac/Main最近在使用java的动态编译的时候出现的问题,主要是由于在使用类com.sun.tool.javac.Main时,总是出现NoClassDefFoundError的错误,后来找到如下的文章,分析,可能是由于对于包tools.jar的加载问题,虽然我在classpath中声明了

2009-10-13 10:56:00 636

原创 Java中的URLEncoder和URLDecoder类

1、URLEncoder是对字符编码,     URLDecoder是对字符进行解码:     1.大写字母A-Z     2.小写字母a-z     3.数字   0-9     4.标点符   "."     "-"     "*"     and   "_"       不会被编码,是安全的,     我就搞不懂,它们所指别的字符的都是不安全的,究竟是哪不安全,能不能举个例子??    

2009-10-13 09:29:00 1223

转载 线程安全集合

线程安全集合简介JDK 1.2 中引入的 Collection 框架是一种表示对象集合的高度灵活的框架,它使用基本接口 List、Set 和 Map。通过 JDK 提供每个集合的多次实现(HashMap、Hashtable、TreeMap、WeakHashMap、HashSet、TreeSet、Vector、ArrayList、LinkedList 等等)。其中一些集合已经是线程安全的(H

2009-09-13 23:21:00 1125 1

原创 用javassist实现简单的动态代理

  网上有网友已经实现了该功能,我只是把我的理解说出来,希望对大家有帮助!       主要思路:创建一个拦截器接口,里面有有一个invoke方法,再创建一个能够生成代理的类,该类的主要作用是生成了一个新类,该新类实现了被代理类接口的每个方法(生成新类的实例时是用javassist)。这个新类里每个方法都通过反射去调用拦截器中的invoke方法,(而invoke方法中我们会去调用被代理类的方法

2009-08-05 10:40:00 1677

java 反编译神器 jd-gui.exe

java 反编译神器 jd-gui.exe。java 高级开发必备神器。

2019-03-14

深入理解Java虚拟机和读书笔记

压缩包包含 周志明老师的书《深入理解Java虚拟机》,以及个人笔记。对于那些不仅仅满足于java语言层面的知识,更想深入进一步了解jvm知识,比如classLoader,jvm 体系,线程,内存等技术的javaer很有用。可以做为java技术进阶的一本秘籍

2017-05-04

oscache 官方 源码及说明文档

oscache 官方源码及说明文档,对于想了解和做缓存功能,很有用

2009-09-14

空空如也

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

TA关注的人

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