自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习印记 Learning imprint

记录点滴 Record bit by bit

  • 博客(303)
  • 资源 (7)
  • 收藏
  • 关注

原创 Java多线程——线程池

线程池线程池负责管理工作线程,包含一个等待执行的任务队列。线程池的任务队列是一个Runnable集合,工作线程负责从任务队列中取出并执行Runnable对象。Executor 框架便是 Java 5 中引入的,其内部使用了线程池机制,Executor 框架包括:线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callab

2017-03-12 22:54:27 1307

原创 设计模式——责任链模式

模式介绍责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。模式的优缺点优点1.因为客户端的请求不知道会被哪个对象处理,所以系统的更改可以在不影响客户端的情况下动态的重新

2017-03-12 13:56:24 715

原创 Spring Scheduler定时任务 + Quartz

定时任务几种实现方式Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务,没怎么用过就不说了。Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多。Quartz是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,可以方便的分布式部署、便捷的监控和

2017-03-11 16:45:25 6542

原创 Base64简介

Base64编码介绍Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。比如三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。完整的base64定义可见RFC 1421和RFC 2045。编码后的数据比原始数据略长,为原来的4/3。所以当原有数据不是3字节的倍数时,会将二进制数据

2017-03-11 13:34:34 933

原创 sql重复插入问题

问题在项目中,由于别人并发的调用接口,导致插入了重复数据解决方案1.因为使用多台机器部署,可以使用分布式锁用一台机器处理,对处理的方法加锁或同步关键字,但性能会有很大影响,分布式的优势也没了 2.在MySQL的业务表中,根据业务建立唯一索引,防止数据重复具体操作建立唯一索引: ALTER TABLE table_name ADD UNIQUE index_name (column_list)程序

2017-03-10 15:32:15 4119

原创 线程执行顺序——CountDownLatch、CyclicBarrier 、join()、线程池

本文主要围绕一个问题展开:线程执行顺序,比如某个线程在其他线程并发执行完毕后最后执行。join介绍join()是Thread类的一个方法,join()方法的作用是等待这个线程结束。t.join()方法阻塞调用此方法的线程(calling thread),直到线程t完成,此线程再继续;通常用于在main()主线程内,等待其它线程完成再结束main()主线程。join实现Join方法实现是通过wait(

2017-03-10 00:02:22 3081

原创 微软办公软件Word,Excel,PPT一些常用操作

将CSV文件中科学计数法在excel中正常显示建议直接看这篇文章:http://jingyan.baidu.com/article/ae97a646d29ed6bbfd461daa.html这里简单记录下:新建一个excel文件-》打开后选择“数据”-》“从文本”-》一直按“下一步”-》当需要选择分隔符号时选择“逗号”-》列数据格式(可以用鼠标选择那一列并指定列格式,比如含有科学计数法的列将其类型指

2017-03-09 20:03:38 1168

原创 The innodb_system data file 'ibdata1' must be writable

之前MySQL还好好的,今天突然无法启动了ps -ef|grep mysql看到有启动的进程,不过启动失败了,然后 根据--log-error=/usr/local/mysql/data/mysqld.local.err到错误日志中看了提示的错误: The innodb_system data file 'ibdata1' must be writable应该是文件的操作权限不够,可以修改下该

2017-03-08 00:00:07 30638 2

原创 Your password has expired. To log in you must change it using a client that supports expired passwor

密码过期,需要重设密码,处理过程如下。mysql> use mysqlERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.mysql> set password = password('123456789');Query OK, 0

2017-03-07 23:55:14 1258

原创 Invalid default value for 'create_date' timestamp field

创建表的语句中有这么一句`create_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',之后就报了这个错误。That is because of server SQL Mode - NO_ZERO_DATE. In strict mode, don’t allow ‘0000-00-00’ as a valid date. TIMES

2017-03-07 23:51:59 4369

原创 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"

问题SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for furt

2017-02-25 00:46:53 1018

原创 悲观锁和乐观锁

为什么需要锁在多用户环境中,在同一时间可能会有多个用户更新相同的记录,就会产生冲突。冲突最终会导致丢失更新或脏读。 丢失更新:一个事务的更新覆盖了其它事务的更新结果。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。表现为不同用户读到的同一个记录的值可能不同。悲观锁还是乐观锁可以认为是一种思想。不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernate

2017-02-18 17:35:11 1055

原创 Java——IO流

流的理解在很多时候,流(Stream)是字节流(Byte Steram)的简称,也就是长长的一串字节,当然,除了字节流,我们还可以有视频流、音频流、数据流。流只有一个特征就是连续,流可以没有头可以没有尾,甚至可能没有绝对的位置(因为无头无尾),但是由于流是连续的,所以有相对位置。但也有人更倾向于流是类库或执行环境中的数据流概念,而不是编程语言里的概念。这种“流”的典型代表好比Java里的InputS

2017-02-18 17:16:14 938

原创 Nginx的 http_image_filter_module 模块使用说明

Nginx图片处理原理这里需要用到 nginx的 http_image_filter_module 模块,这个模块可以很方便的实现图片缩放功能,只是默认的情况下并不会安装,需要自己编译安装才能行。编译的时候./configure 增加 –with-http_image_filter_module 编译安装即可Nginx图片处理的优缺点优点操作简单。通过简单配置,省去了后端裁剪程序的复杂性。实时裁

2017-02-17 11:08:42 15511

原创 Nginx配置域名同时支持 https 和 http 访问

在这篇CentOS云主机中Nginx正向代理http、https文章中已经分别介绍了nginx代理 http 和 https 请求。但有时业务需要同个域名支持 https 和 http 两种方式访问,可以如下配置文件。server { listen 80; listen 443 ssl; //修改后 server_name

2017-02-16 20:51:50 9018

原创 Java多线程——守护线程

线程分类在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 作用Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 GC (垃圾回收器),它就是一个很称职的守护者。区别User和Daemon两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果 User Thread已经全部退出运行了,只剩下Daemon Thread存在了,

2017-02-16 02:30:29 890

原创 Java——反射

什么是反射?反射(Reflection)能够让运行于 JVM 中的程序检测和修改运行时的行为。Class 类在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识。虚拟机利用运行时信息选择相应的方法执行。可以通过专门的Java类访问这些信息,保存这些信息的类被称为 Class。 将 Class 类中的 forName 和 newInstance 配合使用,可以根据存储在字

2017-02-16 02:17:45 682

原创 Java——main函数

Java 写了这么久,终于想了解下 main 函数了。main 函数作用在 java 中,main() 方法是 java 应用程序的入口方法。java虚拟机通过main方法找到需要启动的运行程序,并且检查main函数所在类是否被java虚拟机装载。如果没有装载,那么就装载该类,并且装载所有相关的其他类。因此程序在运行的时候,第一个执行的方法就是main()方法。通常情况下, 如果要运行一个类的方法,

2017-02-16 02:05:21 908

原创 使用Keytool为JDK添加证书

该文为在 Mac 上使用Keytool为JDK添加证书。导入证书通过 keytool 命令来导入证书,注意导入时需要管理员权限,所以命令前面要加sudo sudo keytool -import -noprompt -trustcacerts -alias ckkey1 -file /Users/gary/Documents/Job/xxx/cert/xxx.com.cer -keystore /

2017-02-13 20:56:32 5945

原创 Mac 安装 zookeeper

安装brew install zookeeper配置文件位置: /usr/local/etc/zookeeper配置设置开机启动:To have launchd start zookeeper at login: ln -sfv /usr/local/opt/zookeeper/*.plist ~/Library/LaunchAgentsThen to load zookeeper now:

2017-02-13 20:42:09 2225

原创 Mac 80端口占用

问题tomcat 默认端口是 8080,但是我的一个程序必须用 80 端口启动,才能根据域名去 cas 校验,在idea 中设置了 tomcat 的启动端口是 80 后,并没有起作用,报了 “80端口占用” 的错误,可是也没查到 80 端口被那个程序占用,后来发现是 80 端口没有打开。原因由于 Mac 系统限制非root用户不能启动1024以下端口,而我们平时使用Mac一般都是非root用户,所以

2017-02-13 20:31:18 4314

原创 Mac 运行 C/C++

Mac 自带的有自己的 g++ 程序示例例如新建个文件 mytest.cpp编译g++ -o test mytest.cpp编译后生成 mytest 的可执行文件运行./mytest

2017-02-13 20:07:21 1443

原创 Mac——snip滚动截图

最近在找一个滚动截图软件,不仅可以截长网页,还可以截第三方应用,于是就找到了腾讯出品的snip,这里简单记录下是防止以后又忘了。配置安装完后,默认是没有开启滚动截屏的,需要在设置中勾选下“启动滚动截屏”,但可能并没生效,还需要在 “安全性与隐私” -》“隐私” 中勾选允许Snip控制您的电脑 注意:Snip的截图快捷键和QQ是一样的,可以修改下。使用control+command+a 后选中

2017-02-13 20:00:08 26597

原创 使用 Grapicmagick 和 Im4java 处理图片

ImageMagick是个图片处理工具可以安装在绝大多数的平台上使用,Linux、Mac、Windows都没有问题。GraphicsMagick是在ImageMagick基础上的另一个项目,大大提高了图片处理的性能,在linux平台上,可以使用命令行的形式处理图片。Im4java 和Jmagick 都是开源社区为上面两个工具开发的 Java API,性能和方便度上im4java是更好的选择。JMag

2017-02-13 17:30:22 8713 3

原创 迭代与递归

递归一个递归的例子 n!=n*(n-1)! 因此,代码的实现如下。int factorial (int n) { if (n == 1) { return 1; } else { return n*factorial(n-1); }} 在执行以上代码的时候,其实机器是要执行一系列乘法的: factorial(n) → factorial(n-

2017-02-13 10:57:53 709

原创 idea 快捷键,常用设置,插件安装,查看字节码

快捷键command+o 快速打开类shift+command+o 打开任意文件⌃Space control+空格 代码快速补全⌥F7 find all places where a particular class, method or variable is used in the whole project alt+enter 导入类alt+command+b 进入方

2017-01-14 19:05:08 3328

原创 Linux 进程和网络端口相关命令

ps 命令ps 命令列出的是当前那些进程的快照,就是执行 ps 命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用 top 命令。ps 常用的命令参数:-e 显示环境变量,和“-A”相同-f 显示程序间的关系au 显示较详细的资讯aux 显示所有包含其他使用者的行程 ps -ef可以看到每个列代表的意思UID 程序被该 UID 所拥有PID 程序被该 UID 所拥有PPI

2016-11-06 16:05:22 953

原创 根据字符类型和密码长度随机生成密码

原因初衷:我本来是想写根据自己定义的一些信息生成复杂度可自选的固定密码,增强密码的复杂性的同时,也更容易记住密码,这样密码即使明文记录在本地,没有自己的加密算法,也得不到最终真正的密码。我看到网上有一些现成的工具以及chrome的插件等,还是想自己试试。不过看到一些自动生成随机密码的网站,一好奇就先有了这篇随机生成密码的文章。目标可以选择数字,小写字母,大写字母,特殊符号,密码长度,根据这些选择生成

2016-10-22 14:46:29 2500

原创 设计模式——单例模式

定义单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。饿汉式单例/* * 饿汉式单例 */public class Singleton { private static final Singleton instance = new Singleton(); //禁止类的外部直接

2016-10-05 17:35:28 777

原创 Java——GC(垃圾回收)

垃圾回收机制的意义C++程序员非常头疼的一个问题就是内存管理,而垃圾回收机制使得Java程序员不用关心内存动态分配和垃圾回收的问题,交由JVM去处理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。内存泄露是指该内存空间使用完毕之后未回收,在不涉及复杂数据结构的一般情况下,Java 的内存泄露表现为一个

2016-10-05 14:36:09 1320

原创 Java——Exception

异常情形是指阻止当前方法或者作用域继续执行的问题。比如用户输入了非法数据、要打开的文件不存在、网络通信时连接中断,或者JVM内存溢出等都可能导致异常。通过后面的异常类型和常见异常的介绍,可以知道产生的异常的原因有很多,有可能是用户不当的操作或者程序中的逻辑错误,也有可能是JVM等物理错误产生的。异常类型检查性异常最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存

2016-10-04 19:09:26 837

原创 Nginx安装http_image_filter_module图片裁剪模块

http_image_filter_module用来裁剪图片的,是nginx自带模块,默认不会开启 开启该模块需要在编译时要带上参数 --with-http_image_filter_module 这里比如在tomcat服务器下放个 test 目录存放图片,则可以 http://ip:8080/test/234241.jpg 这样访问图片,安装裁剪模块后可以 http://ip:8080/tes

2016-09-30 23:29:05 9551

转载 HTTP中GET与POST的区别

参考资料中原文的比喻挺形象的,可以直接阅读原文,本文只是摘抄。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。这是因为HTTP上层协议的规定,使他们在用起来表现的有所不同:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设

2016-09-30 17:47:22 598

原创 Html5 文件上传

拖拽目录只有chrome11及以后版本才支持,也可直接看参考文献中的文章,本文主要记录自己做过的一些东西 这有个简单的 html5 上传demo:https://github.com/xiaoshenge/html5demo/blob/master/file/js/list.jsHTML5 提供了一种通过 File API 规范与本地文件交互的标准方式。为了举例说明其功能,可使用 File

2016-09-30 17:10:59 1085

原创 Mysql——index(索引)使用

索引作用在索引列上可以有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。而在多表连接查询时,在执行连接时加快了与其他表中的行匹配的速度。索引可以避免排序,比如对order by 的字段建立索引,因为索引使用的是BTree(数据作为叶子节点在树的最底层已经排好序,这样方便了sql的between查询),本来就是排好序列的,所以可以避免排序达到优化查询的效果。添加索引ALTER TA

2016-09-30 16:42:48 1410

原创 Mac 安装和使用redis

Mac下使用redis安装brew install redis设置开机启动 ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist启动服务redis-server /usr/local/etc/redis.c

2016-09-30 14:55:05 2423

原创 Atom 初体验

最近不想再破解 Sublime text,所以试用了下 Atom快捷键cmd-\ 显示或隐藏边栏ctrl-0 聚焦边栏,聚焦后可以操作树目录中的文件ctrl-P 上移(Previous)ctrl-N 下移(Next)ctrl-B 后移(Back)ctrl-F 前移(Forward)ctrl-E

2016-08-24 01:33:42 2865 1

原创 GraphicsMagick 1.3.23 常用命令

官网地址:http://www.graphicsmagick.org/index.html 官网上有安装和使用方法,命令使用手册:http://www.graphicsmagick.org/utilities.html常用命令benchmark: 测量和报告实用程序命令的性能batch:在交互式或批处理模式中发出多个命令convert:转换图像或图像序列,模糊,裁剪,驱除污点,抖动,临近,图

2016-08-22 23:56:10 4117

原创 世界是数字的

这本书是普林斯顿大学教授Brian W. Kernighan 由他开的课程“我们世界中的计算机” 的讲义整理而来,本书主要从硬件、软件和通信三个方面讲了计算机的来世今生,是一本非常好的计算机科普读物。即使是学计算机专业的,我认为也很值得的一读(其实是我基础学的不好啦)。虽然计算机在我们生活中随处可见,甚至可能你的生活已经离不开它,但我们很少知道他们运行的原理。本书不仅从宏观上讲述了计算机发展,而且又

2016-08-15 23:49:26 1105

原创 Java native 关键字

Java native 关键字今天在看Thread类,启动线程用的 start()方法,该方法使线程开始执行,jvm 调用这个线程的run方法。(线程不能重复start),而 start()方法中又调用了 native start0()方法,该方法没有实现体,其实现体是由非java语言在外面实现的,JVM将控制调用本地方法的所有细节。Object 类中也有很多 native 方法。JNIJava N

2016-08-11 23:10:33 902

PHP微信公众平台接口类及演示

PHP微信公众平台接口类及演示,其中包含消息回复,自定义菜单,订阅消息推送等功能代码

2013-09-28

zookeeper ppt教程

zookeeper ppt教程,让初学者对zookeeper有更好的了解

2013-09-28

微信公众平台注册与认证

详细描述了微信公众平台的注册与认证流程,及在开发模式下能实现的功能

2013-09-28

宿舍管理系统

宿舍管理系统+论文 c++编写,可正常运行,采用access作为数据库,希望对你有帮助。

2013-02-21

各种算法图解

数据结构书里面的各种算法的详细图解

2013-02-21

空空如也

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

TA关注的人

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