自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知识搬运工

我不生产知识,只是知识的搬运工

  • 博客(23)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 [实战]JAVA排序报错Comparison method violates its general contract

JDK7以后,sort方法换了排序方式,使用TimSort来进行排序,新的实现在自定义比较器违背比较规则的情况下有可能会抛出上面的异常,原来的实现则是忽略了这个异常。我的理解,在排序器不严谨的情况下,使用该参数可以不让线上出现因为排序导致的异常,从而使业务无法进行下去,但排序的结果可能是错误的,是一种兜底的行为。另外,对于Comparator返回值,-1,0,1,这三个值我在实战中只能确认的是0则代表两个对象相当,-1和1的有时需要测试确认。对称性:如果x=y,那么x与z的比较结果和y与z的比较结果相同。

2023-09-25 11:40:35 340

原创 [纸上谈兵]Web服务器机制

目录通信协议Http协议HTTPS协议套接字协议服务器模型本文从通信协议、套接字通信(Socket)、Web服务模型三个方面了解Web服务器机制web服务器就是指类tomcat服务器通信协议Http协议http是请求/响应模型, 一个浏览器的http请求/响应的流程大概可以用以下4步表示1、客户端浏览器先与服务端通过三次握手建立连接2、连接建立后,客户端浏览器组装请求报文,发送一个请求到服务器3、服务端接收到请求后,进行处理,将响应结果发送给客户端浏览器4、客

2020-08-09 19:02:48 286

原创 [实战]Java三目运算符出现空指针异常

事情经过线上某个访问突然出现空指针异常。查看日志,定位到以下代码:deviceWrapper.setIsOnline(deviceState == null ? 0 : deviceState.getIsOnline());其实deviceWrapper和deviceState对象的isOnline属性都是包装类型Integer。出现空指针时deviceWrapper和device...

2020-04-10 11:19:10 1378

原创 [纸上谈兵][Redis]Redis持久化

目录RDB持久化AOF持久化参考 持久化就是将Redis在内存中的数据保存在硬盘上。可以避免因进程退出而造成的数据丢失问题,当下次重启时利用之前持久化的文件实现数据恢复。 Redis目前支持两种持久化:RDB(Redis DataBase)持久化和AOF(append only file)持久化。RDB持久化 RDB持久化就是把当前进程...

2020-02-20 16:50:39 161

原创 [纸上谈兵][Redis]初识Redis

目录Redis特性Redis可以做什么Redis不可以做什么用好Redis建议Redis(Remote Dirctionary Server) ,一种基于键值对(key-value)的NoSQL数据库。Redis特性1.速度快 Redis执行命令速度非常快,官方给出的数字是读写性能可达到10万/秒。 为什么Redis如此快?Redis所有的数...

2020-02-18 15:56:44 207

原创 [兵上谈兵][源码学习]一个简单的JDBC例子

一、下面是一个简单的JDBC的例子public class JdbcDemo { public static void main(String[] args) { test(); } public static void test() { String driver = "com.mysql.cj.jdbc.Driver"; ...

2018-12-21 20:13:19 186

原创 [纸上谈兵][待完善]spring boot 使用hystrix 熔断器

前言最近在做一个新项目,后台管理系统以及部分服务使用spring boot 搭建,并没有使用sping cloud整套服务.所以在这里记录接入hystrix部分教程。原计划自己写博客介绍,但时间太紧,先备注后面再完成.目前hystrix已经停更,官方建议使用Resilience4j, 参考资料: http://resilience4j.github.io/resilience4j/相关...

2018-12-01 20:04:55 706

原创 [纸上谈兵]雪花算法生成ID

前言我们的数据库在设计时一般有两个ID,自增的id为主键,还有一个业务ID使用UUID生成。自增id在需要分表的情况下做为业务主键不太理想,所以我们增加了uuid作为业务ID,有了业务id仍然还存在自增id的原因具体我也说不清楚,只知道和插入的性能以及db的要求有关。我个人一直想将这两个ID换成一个字段来处理,所以要求这个id是数字类似的,且是趋抛增长的,这样mysql创建索引以及查询时性...

2018-11-30 21:00:59 11533 2

原创 [纸上谈兵]If I were u bef 35

    上次写完博客后,关注人数居然增加了2个,给我了极大的信心,总想着不能辜负这些人,  于是想把最近听到的不错的分享,整理一下,分享给各位。分享内容是公司CTO在内部分享,有一些会加入我个人的理解。     介绍一下我个人的背景,88年出生,工作10年多了,基本上没有经历过一线互联网公司,也没有经历过高并发,大数据量的系统,学历背景与工作背景都比较差,技术水平比较渣。唯一的优点可能还是有上...

2018-09-20 23:57:07 240

原创 [小白学习]Docker入门(二)-Nginx配置Https

请这一篇前请先看完 《[小白学习]Docker入门》链接地址: https://blog.csdn.net/c364902709/article/details/80924690一、启动nginx启动nginx: docker run -d -p 81:80 nginx查看容器id: docker container list进入nginx docker的shell:  docker c...

2018-09-10 18:35:11 229

原创 [实战]线上领取优惠券超时

上个月项目比较紧,导致没有太多时间写博客,今天有时间更新一下博客,将前两天解决的线上问题梳理一下,很简单的一个问题,主要排查过程比较有意思,线上打印的日志也并不多。一、背景核心实体:       优惠券:   每张优惠券必须属于某个活动.       优惠券活动:   用户可以领取该活动下的优惠券,优惠券是在活动创建时生成的,并非领取时才生成.优惠券活动可以属于某个活动    ...

2018-09-09 23:29:08 980

原创 [纸上谈兵]Java IO详解(四) Reactor模式

一、 Reactor中文解释Reactor模式翻译成中文有的说是反应器,有的说是反应堆模式。中文解释反应:因为事件所引发的回应。名词.器: 容器, 例如:用来存放水之类的物体.堆:   例如: 土堆.可以理解为土汇集到一起。那么反应器:这个我个人理解,存放反应的容器反应堆:反应汇集到一起.通过上面的解释来看,其实都差不多,个人理解叫反应器更合适一些,所以大家如果不太理解,可以先认...

2018-07-30 13:51:40 1100

原创 [纸上谈兵]Java IO详解(三)NIO

一、概述Java NIO 一种基于通道和缓冲区的 I/O 方式,它可以使用Native函数库直接分配堆外内存,然后通过一个存储在 Java 堆的 DirectByteBuffer 对象作为这块内存的引用进行操作,避免了在Java堆和Native堆中来回复制数据。Java NIO是一种同步非阻塞的IO模型.同步是指线程不断轮询IO事件是否就绪,非阻塞是指线程在等待IO的时候,可以同时做其他任务...

2018-07-26 22:56:22 250

原创 [纸上谈兵]Java IO详解(二)BIO

一、java io分类java io目前包括了BIO(同步阻塞),NIO(同步非阻塞),AIO(异步非阻塞)三种。如果不太了解同步、异步、阻塞、非阻塞,看我前面的文章二、JAVA BIOBIO比较简单,我先简单说一下socket中关于端口的两个方法。socket.getLocalPort();//从字面理解是获取本地端口号;对于服务端的socket就是获取监听的端口号;对于客户端...

2018-07-11 23:43:27 186

原创 [纸上谈兵]Java IO详解(一)基础

声明:这个文章只是从其他文章抄过来加上自己的理解组成的文章。可能会存在各种问题,还请指正.关于IO这块,对于我来讲一直是个知识肓区,尤其在同步、异步、阻塞、非阻塞这块,有一点认识,但很不清晰,所以写这篇文章,它不能让我100%理解,但我希望以后可以在这个文章基础上继续加深对io的理解.一、操作系统相关基础知识学习JAVA IO前,我们先需要了解一下操作系统相关概念.因为常用为Linux操作系...

2018-07-11 00:53:30 706

原创 [小白学习]Docker入门(一)

一、认识docker1、为什么这么火?  极大提高效率.2、是什么?   Docker是一个应用容器.可以运行ngnix,Node.js,java程序等等   举例:   Linux -> jvm -> java应用   Linux -> Docker(jvm - java应用)3、解决了什么问题? a. 部署难的问题(遇到复杂项目部署效率极低) b. 资源利...

2018-07-05 23:25:06 288

原创 [纸上谈兵]BigDecimal源码学习

一、BigDecimal声明新来同事看到我们代码中BigDeciaml用法,感觉比较奇怪,由此引出了这篇文章使用下面方式声明BigDecimal时,会出现精度问题BigDecimal bd3 = new BigDecimal(0.1D);推荐用法BigDecimal bd1 = new BigDecimal("0.1D");BigDecimal bd2 = BigDecimal.valueOf(1...

2018-06-28 14:55:00 2288

原创 [纸上谈兵] http头部字段Transfer-Encoding

一个月没写,自己定的目标没有实现,不想写太水的内容。但这一篇可能又是水我在排查httpclient问题时,发现了这个请求头,但不知道是做什么用的,于是百度一下一、Transfer-Encoding: chunkedTransfer-Encoding头字段可以用在请求头或响应头中。该头字段有两个值chunked和identity作用:Transfer-Encoding值为chunked时,代表要把请...

2018-06-27 14:16:54 6019

原创 [实战]http client 无限等待返回结果

一、业务问题公司内部有一个爬虫系统,定时抓取部分网站数据存入我们数据库,进行后续约业务逻辑处理。业务反馈有时有些网址的数据没有抓取.二、相关背景软件系统: 采用httpclient 4.5.3 + webmagic实现,定时作务触发后,从数据库分页取出需要处理的数据,新建一个线程,通过httpclient获取数据进行后续处理。爬虫在访问目标网站时,使用了免费代理,代理稳定型较差...

2018-05-23 23:35:21 6442 2

原创 [纸上谈兵]技术人员职业规划和能力要求

[纸上谈兵]是我个人一直想要写的一系列文章。我的职业发展比较差,工作10年仍是一名普通的JAVA程序员,在这10年的工作经历中,并没有经历过高并发或大数据等技术要求比较高的项目。最近才开始有意识向升职这方面考虑,于是想将我最近关于职业规划及技术总结梳理一下。 之所以叫[纸上谈兵]是因为只是我个人的思考及学习,很多并未实践,仅供新人或和我经历想似的人参考,如果是大神希望及时指出不...

2018-05-19 01:29:41 4162

原创 [小白学习]git个人整理

场景:      部门这边上线流程在进行代码合同时,要求只合并本次修改的文件。所以需要研发自行记录每个人的文件修改记录。解决方案:     1. 进行git bash     2. 执行 git log --author=作者名 --name-only --after="2018-04-02(此处为哪个时间点进行统计)" | grep 'minsu-service' | sort | uniq  ...

2018-05-04 10:35:15 263

原创 [实战]使用SQLmap进行SQL注入

一、什么是SQLmap?SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)。备注:SQLmap是python代码二、SQL注入自行百度三、SQLmap安装可以点击https://github.com/sqlmapproject/sqlmap/tarball/mas...

2017-05-19 08:39:51 1955

原创 [纸上谈兵]面向对象的5个编码原则

目录一、多聚合,少继承.高内聚、低耦合二、面向对象5个基本原则1. 单一职责(职责划分能力)2.开放封闭原则(抽象能力)3.里氏替换原则4.依赖倒置原则5.接口分离原则一、多聚合,少继承.高内聚、低耦合高内聚、低耦合内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高,牵一发而...

2017-02-20 23:49:45 1444

java swing 简单连连看

这个是我参照网上自己写的连连看。代码写的不是特别好。很简单的,仅供新手学习。。。

2010-10-12

trac+svn+apache,在windows下的安装

这是一份关于trac+apache+svn在windows安装说明,我做一个备份。很不错,我能装上全靠他了。如果在安装过程中出现一些问题,大部份是因为版本的原因。

2010-01-03

jsf 客户端验证包

针对jsf 1.2等使用的客户端验证jar包。也可以从www.sourceforge.net网站搜索下载。

2009-12-30

Jprofiler 6.0.1序列号

这是从csdn上下的,我又上传上去了,那哥们的分太贵了。我少要一点,嘿嘿。

2009-12-03

spring+hibernate+osworkflow

spring+hibernate+osworkflow,服务器为Tomcat6.0,数据库为Mysql 把viewlivegraph2.jsp改为viewlivegraph.jsp. 其中把wf的获得修改为 ApplicationContext cxt = WebApplicationContextUtils.getWebApplicationContext(this.getServletConfig().getServletContext()); Workflow wf = (Workflow)cxt.getBean("workflow"); 用osworkflow自带的designer把example重新生成一下图片和example.lyt.,然后把example.lyt.修改为example.lyt.xml,把这个文也给换了example.lyt.xml,然后替换原文件。

2008-12-17

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

TA关注的人

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