自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 MySQL:insert or update的实现

MySQL:insert or update的实现(批量的写法)一条条查询判断是否存在,再使用insert或update的方式就不提了,性能浪费比较严重,建议能用批量的操作都批量,能少访问一次数据库就少访问一次。偷懒直接写mybatis的xml内容了,用的时候直接拷贝,下文中的id都是自增主键。①replace原理是当发现唯一索引或主键列数据已存在时,先删除旧数据再新增新数据,会导致即使看起...

2019-05-13 19:26:59 12730

原创 JDK1.8源码阅读与翻译:CyclicBarrier

/** * CyclicBarrier是一个同步辅助类,允许一组线程全部等待彼此到达一个公共 * 屏障点。CyclicBarriers在涉及固定数量的一批线程必须偶尔等待彼此的程序 * 中很有用。被称之为cyclic(循环)barrier(屏障)是因为它可以在释放等待 * 线程后继续重复使用。 * * CyclicBarrier支持一个可选的命令(Runnable),该命令在每...

2019-03-27 21:34:39 370

原创 JDK1.8源码阅读与翻译:CountDownLatch

A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes. CountDownLatch是一个同步辅助类,允许一个或多个线程等待,直到其他线程 进行的一系列操作完成。

2019-03-21 19:13:17 360

原创 TCP零窗口攻击?

零窗口(ZeroWindow)和坚持定时器(TCP Persist Timer)初识零窗口TCP滑动窗口零窗口(ZeroWindow)坚持定时器(TCP Persist Timer)是不是DDos攻击问题重现解决办法当时的办法新的问题初识零窗口  13年时曾经遇到过一个问题(原谅我现在才写这篇文章…):提供下载服务的生产环境上(SUSE Linux,使用Tomcat BIO的Connector...

2019-03-06 10:29:00 5733

原创 快速排序

快速排序是在冒泡的基础上,分两段持续递归的排序方式,代码如下:package org.fst.algorithm;public class Quicksort { public static void main(String[] args) { int[] array = new int[]{11, 4, 3, 2, 7, 10, 4, 5, 1, 0, 6, 8

2018-01-07 22:15:27 209

原创 HttpClient实现HTTPS客户端编程---可信证书与自签名证书

HttpClient实现HTTPS客户端编程本文基于HttpClient4.5.4,对其可信和自签名证书的使用进行介绍:如何访问可信网站是否用到了证书,证书在哪里如何访问自签名证书网站*使用keytool生成自签名证书alternativename invalid离线写博客导入导出Markdown文件丰富的快捷键前情简介前世今生网上能搜到httpc

2017-12-27 21:48:09 5179 2

原创 Unitils(DBUnit)预置数据无法插入CLOB类型的问题

unitils版本:2.4 jdbc版本:ojdbc6.11.2.0.3.0问题现象通过@DataSet注解预置数据库数据时,其中一列为CLOB类型,执行用例报如下错误: 问题解决流水账这个Unitils我是头一次用,补充项目UT刚好碰上了这个问题,懒得细细看代码,以下为(撞大运)解决过程。步骤一并没有什么头绪,debug进来看代码确实要报此异常,因为在CLOB.jav

2017-12-12 20:46:15 538

原创 Oracle中文乱码之编码字符集

Oracle中文乱码之编码字符集执行sql脚本,通过PL/SQL Developer工具等方式执行、修改带中文的数据经常遇到乱码,简单描述通过统一以下几个地方的字符集设置解决实际乱码/看起来乱码的问题:Oracle服务端字符集 Oracle服务端软件的字符集编码设置,设置方式网上一大堆,就不细说了,检查方式是:SQL> select userenv('language') f

2017-09-18 16:10:21 2550

原创 Android:自定义ImageView展示大图中的指定区域并切圆角(雪碧图)

@Overrideprotected void onDraw(Canvas canvas){ Drawable drawable = getDrawable(); if (drawable instanceof BitmapDrawable) { Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap()

2017-04-15 15:53:32 2326

原创 gradle:编译过程中修改第三方jar包

编译过程中修改第三方jar包背景Android项目过程中要引入第三方开源的jar,根据需求又要对其进行破坏性的定制,不修改源码不行。然而种种规范和要求又不能让我们将第三方源码全部拿过来再修改。 奇葩的需求和奇葩的硬性规范,导致如下难题:-**工程依赖要用原始未修改的jar -**jar里面某几个class要修改 -**开发不能将所有源码引入解决思路工程依赖使用原始ja

2017-04-01 09:55:36 4470

原创 安卓xmpp简单介绍(登录)以及自签名证书的使用

安卓xmpp简单介绍(登录)以及自签名证书的使用概念OSI七层模型开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。 它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,具体参考[百度百科](“h

2016-12-05 18:03:36 2502

原创 GCM Google官方示例的简单介绍和使用

GCM Google官方示例的简单介绍和使用准备工作翻墙  先翻墙,翻不了墙一切都白搭……Google账号申请Google账号进入Google开发管理台创建工程(Google管理台上的Project)开启Google Cloud Messaging API。Demo工程  参考google官方指导文档,在google中搜索GCM,或者直接点击此处打开。本文均以Android为例,打开页面后

2016-02-24 17:16:05 14569 2

原创 Java中的时间、时区和夏令时

Java中的时间、时区和夏令时相关概念时区时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。世界各个国家位于地球不同位置上,因此不同国家的日出、日落时间必定有所偏差。这些偏差就是所谓的时差。 理论时区

2016-02-03 09:08:20 23672 2

原创 ConcurrentHashMap简析

接前面一篇HashMap的文章(http://blog.csdn.net/fanst_/article/details/44986517),简单介绍下ConcurrentHashMap。存储结构HashMap的存储结构如下图:ConcurrentHashMap可以看作是上图结构的集合:final Segment[] segments;每一个Segment中,包含HashEn

2015-04-13 21:46:27 467

原创 HashMap简析

一次电话面试中,面试官问我HashMap并发使用的时为什么会造成死循环,可惜由于我本来知道它是线程不安全的,从未写过并发读取的代码,因此没有遇到过这个问题,遂不情愿地回答没遇到过。身为java码农,没有研究过HashMap源码也确实说不过去,遂在面试结束后仔细阅读了JDK7的HashMap.java源码,简单分析如下文。存储结构所有数据存储在Entry的数组中,但是注意,并不是一个元素对应

2015-04-10 23:28:30 444

原创 Socket编程:下载文件

使用java的Socket作为客户端,下载网络上的文件。

2015-04-08 22:23:34 549

原创 八皇后

八皇后是回溯算法的经典题目,主要应用递归进行深度优先查找到一个解,然后回溯循环查找所有解,关键在于模型的建立,直观想法是利用二维数组模拟一个8*8的棋盘,但代码会比较复杂。使用一个8元素数组存储一个解,每一行放一个皇后,数组下标为行号,对应元素为列号,代码会更简单。public class Eight_Queens { /** * 存储一个解,其中queen[i]=j,代表第i行第j列

2015-04-04 22:17:23 536

原创 智能卡的使用

最近做一个小功能,智能卡实现SSL双向认证登录,替代原有帐号密码的登录方式。SSL的双向认证,网上一搜一大把资料,tomcat、jboss、apache、nginx都可以直接配置实现。做的过程中由于自己从未使用过智能卡,对智能卡中的证书使用存在疑惑,网上也很少有直接描述智能卡实际使用的例子,大多讲其实现原理,CSP,PKI等等。本篇文章算是一个小小的解密吧,所有对智能卡使用存在疑惑的同学,可以松一

2013-07-07 09:52:08 2296 1

空空如也

空空如也

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

TA关注的人

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