自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (7)
  • 问答 (2)
  • 收藏
  • 关注

原创 I/O 高度总结

一 : 五种 I/O 模型1 . 同步阻塞 ioserver端起多个线程 ,每个线程处理一个 client 请求 , client等待 server 端返回2. 同步非阻塞每隔一段时间去请求 server 端 , 造成 cpu 资源浪费3. I/0 多路复用I/O 多路复用是一种机制 , 是个进程可以监视多个标志符,等到某个描述符就绪(读就绪或者写就绪),能够通知程序进行相应的读写操作。多路复用是...

2018-04-10 18:00:13 247

转载 基于redis分布式锁实现“秒杀”

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。业务场景所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。一些可能的实现

2017-12-05 09:41:48 305

原创 ajaxFileUpload 图片上传工具

使用 ajaxFileUpload 将图片保存到本地 , 再将本地图片上传到cdn -----------------------------------------------  前端  ------------------------------------------1. 先导入  scripttype="text/javascript" src="/js/a

2017-10-31 11:39:26 1185

转载 git 文件状态的生命周期

记录每次更新到仓库现在我们手上有了一个真实项目的 Git 仓库,并从这个仓库中取出了所有文件的工作拷贝。 接下来,对这些文件做些修改,在完成了一个阶段的目标之后,提交本次更新到仓库。请记住,你工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修

2017-08-10 15:14:40 1963

原创 git pull 出现冲突

此文章只是解决冲突的小记 。使用 git pull  "远程仓库url" 的时候出现冲突  坑爹的是没有说明是哪个文件冲突 , 好吧 , 于是 git log , 回退到之前的版本  , git -rest -head~1  , 然后 pull 还有冲突 ,于是继续 git checkout , 然后 pull 还是报冲突  ,  接着  git  clean

2017-08-04 14:46:52 401

原创 selenium -- cssSelector

cssSelector这种元素定位方式跟xpath比较类似,但执行速度较快,而且各种浏览器对它的支持都相当到位,所以功能也是蛮强大的。下面是一些常见的cssSelector的定位方式:定位id为flrs的div元素,可以写成:#flrs     注:相当于xpath语法的//div[@id=’flrs’]定位id为flrs下的a元素,可以写成 #flrs > a  注:相当

2017-08-02 18:07:13 762

原创 selenium -- Xpath 使用

这个方法是非常强大的元素查找方式,使用这种方法几乎可以定位到页面上的任意元素。在正式开始使用XPath进行定位前,我们先了解下什么是XPath。XPath是XML Path的简称,由于HTML文档本身就是一个标准的XML页面,所以我们可以使用XPath的语法来定位页面元素。假设我们现在以图(2)所示HTML代码为例,要引用对应的对象,XPath语法如下: 图(2)绝

2017-08-02 18:01:58 391 1

原创 Git 命令从入门到转行

前言 :  之前一直在用 svn  , 但是项目组为了方便管理决定自己搭建了一个 gitlab

2017-08-01 15:21:16 351

原创 mysql 合并函数 -- COALESCE

1. COALESCE 函数的功能  :返回其参数中第一个非空表达式2. 语法 COALESCE ( expression [ ,...n ] ) 说明 : 该函数可以传若干参数 , 根据查询的结果可以返回参数中第一个非空的值 。举个例子 : select * from users where id =11969740; 该 sql 返回了

2017-06-16 12:35:53 498

原创 mysql union 连用 order by 的限制条件

一般多个结果连接需要使用 union 或者 union all 。前言 :最近产品提出了一个需求 , 需要通过三重条件来过滤 , 体验非常不好 ,和产品沟通无果后准备在 SQL 中进行过滤处理 。踩到的第一个坑  :  union  all 的子条件查询语句 和 order by 不兼容  、 所以要再 嵌套一个select语句来 order by 。踩到的第二个坑

2017-05-19 18:43:45 1623

原创 六 : BlockingDeque 阻塞双端队列

一 : 阻塞双端队列 BlockingDequeBlockingDeque接口是一个用于插入和提取的双端队列。

2017-04-28 18:25:51 457

原创 五 : PriorityBlockingQueue 优先级阻塞队列

一 :优先级阻塞队列 PriorityBlockingQueue图中可以看出, 该实现类共有四个 , 第一个和第二个分别调用了第三个构造函数 , 如果用户有指定参数,则将指定参数值传入,如果没有,则使用默认值初始化属性。二 : 该实现类的 put 方法从图中可以看出 ,put方法里面调用了该类的offer方

2017-04-28 18:08:08 10131

原创 一 : BlockingQueue接口

一 : 概述 BlockingQueue 通常用于一个线程生产对象 , 而另外一个线程消费这些对象。 也就是常见的生产者消费者模式。  一个线程将会持续生产新对象并将其插入到队列之中 , 直到队列达到它所能容纳的临界点。 也就是说,它是有一定界限的。 当该阻塞队列到达了其临界点 ,那么负责生产的线程将会在往里边插入新对象时发生阻塞(有些则是报错,依照不同实现类实现的方法来决

2017-04-28 10:05:38 313

原创 三 : DelayQueue 延迟队列

1. 延迟队列 DelayQueue它是包含Delayed 元素的一个无界阻塞队列,只有在延迟期满时才能从中提取元素。该队列的头部 是延迟期满后保存时间最长的 Delayed 元素。如果延迟都还没有期满,则队列没有头部,并且 poll 将返回 null。当一个元素的 getDelay(TimeUnit.NANOSECONDS) 方法返回一个小于等于 0 的值时,将发生到期。即使无法使用 tak

2017-04-27 21:28:31 490

原创 二 : ArrayBlockingQueue 数组阻塞队列

1. 数组阻塞队列 ArrayBlockingQueueArrayBlockingQueue 类实现了 BlockingQueue 接口。ArrayBlockingQueue 是一个有界的阻塞队列, 其内部实现是将对象放到一个数组里 。在读写操作上都要锁住整个容器,次队列按照先进先出(FIFO)的原则对元素进行排序。默认情况下不保证访问者公平的访问队列。所谓公平访问队列是指阻塞的所有生产者

2017-04-27 21:02:07 700

原创 四 : LinkedBlockingQueue 链阻塞队列

最近开始学习JAVA并发包相关的函数,记下来只为自己以后回顾 , 不供任何其他价值。3. 链阻塞队列 LinkedBlockingQueueLinkedBlockingQueue内部以一个链式结构对其元素进行存储。 该实现类拥有两个构造方法, 一个是赋有初始大小值的构造方法,一个为空构造方法。当为空时,会默认使用Integer.MAX_VALUE作为大小。该构造方法可以

2017-04-15 21:53:08 382

原创 mysql利用mybatis查时间

查时间时,由于时间不能精确到秒。所以应该把时间的查询条件控制在一个范围内。这时需要用到mysql的一些函数,这里已我的需求为基准,写出时间的范围函数。

2017-04-03 14:04:12 918

原创 java导入excel中的空格问题

最近项目需要,首先第一步就是要导入excel的数据 , 待一切代码写好后却发现总有部分数据被忽略。仔细查了原因后才发现java中的trim()没有起作用,于是我看了下trim()的源码。首先知道空格所对应的ascii码为32 ,源码中显示如果为小于等于 "32"的则被认为是空格给去掉。        但是经过测试发现excel中的空格(其实并不是空格,而是莫名的符号,我们这里姑且称

2016-12-27 17:02:29 14198

转载 centos解决eth0 ip不显示问题

修改/etc/sysconfig/network-scripts下的ifcfg-eth0 :[root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# [root@localhost network-scripts]# lsifcfg-eth0   ifdown-ip

2016-11-23 20:30:23 8914 1

转载 JAVA中字节流和字符流的区别 。

一:字符、字节的概念及其区别   首先我们先看一下这个问题:“Java语言中字符串“学Java”所占的内存空间是几个字节?”,要回答这个问题我们就必须先要清楚什么是“字节”什么是“字符”。       字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制,

2015-09-18 09:25:07 590

转载 Oracle 远程连接

项目需求 , 需要远程连接数据库  。 于是在网上查了很多资料进行整理了一下 一  :   Ping 网络 ,检查是否可以 今日需要对站内所有的空间数据做入库处理,所以在服务器上安装了oracle,在本地需要对其进行连接,在网上查阅了相关资料,整理如下:远程服务端配置:1. 数据库配置    因为要为外界客户端提供数据服务,所

2015-07-10 10:49:06 534

转载 Java基础恶补——内存泄露、内存溢出

要点内存泄露是指程序中间动态分配了内存,但在程序结束时没有释放这部分内存,从而造成那部分内存不可用的情况,重启计算机可以解决,但也有可能再次发生内存泄露,内存泄露和硬件没有关系,它是由软件设计缺陷引起的。 内存泄漏可以分为4类:1) 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。2) 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定

2015-07-09 23:29:48 459

转载 java中的 FileWriter类 和 FileReader类的一些基本用法

java中的 FileWriter类 和 FileReader类的一些基本用法1,FileWriter类(字符输出流类)构造方法:FileWriter fw = new FileWriter(String fileName);//创建字符输出流类对象和已存在的文件相关联。文件不存在的话,并创建。                                        

2015-07-08 19:49:27 447

原创 sqlldr的用法详解

由于最近做一个项目 , 需要将 .log格式的文本文档导入到 oracle当中 。其中遇到过很多的问题 , 网上有许多的例子 ,但是对于一个没有学过 oracle 的小白来说还是有一些晦涩。所以我特意将我找的一些相关资料进行总结一下  。

2015-07-07 10:06:04 35531 3

dubbo-demo

在网上找了好多dubbo的例子, 发现都有些复杂。 于是自己用idea搭的demo例子 ,没有冗余的配置文件, 一切从简 , 一个简单的 hello world例子 ,希望对dubbo初学者有所帮助。

2018-05-27

Mac sercurecrt

Mac sercurecrt

2017-08-08

商品信息管理系统ssm

2017-03-06

基础ssm的整合demo

基本的spring+springMVC+mybatis整合, 重点部分都有注释,没有多余的代码,dao层继承了SqlSessionDaoSupport使得daoImpl可以写自己的基本逻辑。

2017-02-10

ssm基本的整合

ssm最基本的整合

2017-02-09

redis_windows_64bit

redis windows版本 64bit

2016-11-07

redis in action java代码

redis in action一书中所有章节的java代码。 (无第三章)

2016-11-07

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

TA关注的人

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