- 博客(89)
- 问答 (5)
- 收藏
- 关注
原创 java动态代理使用
先定义一个待实现的接口public interface Subject { public String sayHello(String name); public String sayGoodBye();}再定义一个接口实现类 public class RealSubject implements Subject { @Override public String
2017-12-18 20:49:37 289
原创 观察者设计模式
使用场景:当有一个对象的状态改变,一群对象都要跟着更新时,就适合用观察者设计模式。 介绍:观察者设计模式需要一个被观察者对象,一群观察者。所以整个设计模式最关键的就是在被观察者对象里注入一个存放观察者对象的容器。 实现: 1 我们需要实现一个被观察者import java.util.ArrayList;import java.util.List;public class Subject {
2017-11-24 18:49:16 287
原创 如何查看mysql当前未提交的事物
到information_schema库下面,查看下面这个表: innodb_trx ## 当前运行的所有事务 innodb_locks ## 当前出现的锁 innodb_lock_waits ## 锁等待的对应关系
2017-11-24 14:38:23 3941
原创 maven命令学习
maven命令学习主要记录重要的几个1 maven clean清空maven相关的所有文件夹2 mvn install 在本地的resriptory中安装新的架包3 compile编译4 package打包5 archetype :generate -DgroupId=xxx -DartifactId=xxx -DarchetpyeArtifactId创建一个格式的maven的web工程Dgroup
2017-10-31 10:59:55 367 1
转载 maven项目jar包版本错误:'dependencies.dependency.version' for xxx:jar is missing. @ line xx, column xx
http://blog.csdn.net/qdqht2009/article/details/52352547 [ERROR] The project XXX (/home/×××/pom.xml) has 1 error [ERROR] ‘dependencies.dependency.version’ for xxx:jar is missing. @ line xx, colu
2017-10-20 21:18:50 5683
原创 Spring boot入门
如何使用Spring boot快速搭建一个web应用1. maven工程的创建过程省略 2. 配置pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apa
2017-10-19 20:27:03 242
原创 linux常用命令总结
grep -l ‘\\”test\\”:123’ test* 列出所有包含\”test”:123的以test开头的文件 在查询日志的时候非常实用~
2017-10-10 11:42:27 204
原创 SwitchHosts使用
在开发的时候有许多方便的工具可以使用,这里推荐一款工具SwitchHosts,可以方便的进行本地的域名绑定,以应对一些需求。
2017-10-08 17:15:16 4058 2
原创 idea如何设置jvm大小
1 点击run -> edit configurations2 Defaults -> Application3 VM options输入-server -XX:PermSize=1536M -XX:MaxPermSize=1536m4 点击ok 完事儿重点内容**
2017-10-08 17:04:33 18893 2
原创 idea常用快捷键
1 CTRL+SHIFT+F 全局搜索某个字符串,非常实用 由于搜狗输入法的简繁体切换快捷键默认也是CTRL+SHIFT+F ,所以需要提前关闭搜狗输入法的简繁体切换快捷键。 这个博客只是为了个人记录快捷键比较方便,会随时更新
2017-10-08 16:51:28 194
转载 IntelliJ IDEA常用快捷键
IntelliJ Idea 常用快捷键列表Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的结构 Ctrl+F7,可以查询当前元素在当前文件中的引用,然
2017-10-08 16:37:18 206
原创 IntelliJ IDEA使用笔记
之前一直在使用eclipse,现在组里都开始切换到使用IDEA了。据说IDEA比eclipse要容易使用的多,那么趁着国庆假期的最后一天来学习一下使用IDEA。 首先在网上搜索了一下,IDEA下载教程 http://jingyan.baidu.com/article/676629976290bf54d51b8481.html 这是一个百度经验的教程,长期使用百度,其实百度经验在下载安装方面的文
2017-10-08 16:20:11 276
原创 eclipse如何调整jvm内存大小
最近碰到一个大型的项目,默认jvm的内存已经不能满足现有的需求,所以需要调整jvm的大小。那么如何通过eclipse进行调整呢? 1 菜单栏Window->java->Installed JRES->Edit 2 输入-Xms1536m -Xmx1536m Xms和Xmx通常设置成大小一样
2017-09-28 16:49:22 1150
原创 eclipse之project facets
之前一直没明白project facets是干嘛用的,看了一篇博客 http://www.cnblogs.com/zj0208/p/6306377.html 其中最重要的一点project facets中的jre版本必须和compile的版本一直,否则会报错
2017-09-27 21:08:26 510
原创 单例模式
其实很早之前就明白了单例,但是因为在大学的时候课程设计都用不到单例,所以仅仅是知道单例,并没有仔细地思考过它的用途。今天是16年11月30号,今天因为项目需要需要写一个单例。在自己需要用单例的时候,为了程序的性能,自然要选择最优的单例。下面就各种单例说一说它们的优缺点。 1 懒汉模式public class Singleton{ private static Sin
2017-09-27 11:31:52 218
原创 java线程池
1 线程池简介 线程池,从字面意思来看,是指管理一组同构工作线程的资源池。线程池是与工作队列密切相关的,其中在工作队列中保存了所有等待执行的任务。工作者线程的任务很简单:从工作队列中获得一个任务,执行任务,然后返回线程池并且等待下一个任务。 2 线程池优势 “在线程池中执行任务”比“为每一个任务分配一个线程”优势更多。通过重用现有的线程,而不是创建新的线程,可以在处理多个请求的时候分摊在线程创
2017-09-27 11:21:56 403
原创 基于Executor的简单的web服务器demo
很多没有接触过web服务器的人可能会觉得web服务器是一件很牛的事情。我想说想写一个性能很好的web服务器是一件很困难的事,但是如果是一个demo还是很简单的。 基于Executor来构建Web服务器是非常容易的。用一个简单的demo来说明一下web服务器。 首先得明白一组java组件,Socket和ServerSocket Socket负责和2个进程间的交互 ServerSocket负责监
2017-09-27 10:52:26 292
原创 如何使用Future和ConcurrentHashMap实现一个线程安全且高效的缓存
几乎所有的服务器应用程序都会使用某种形式的缓存。重用之前的结果,以及来降低延迟,提高吞吐量。 像许多重复发明的轮子一样,缓存看上去非常简单。然而,简单的缓存可能会大大提升系统的瓶颈。我们现在首先来实现一个简单的缓存,通过一步步深入来构建一个并发安全且高效的缓存。 构建场景:我们的系统中有一个比较耗时的查询操作,定义为searchUser,如果不使用缓存那么我们会每次都去数据库进行一个耗时的查询。
2017-09-26 18:17:02 1486
原创 信号量Semaphore
计数信号量(Semaphore)用来控制同时访问某个特定资源的操作数量,或者同时执行某个指定操作的数量。计数信号量还可以用来实现某种资源池,或者执行某个指定操作的数量。计数信号量还可以用来实现某种资源池,或者对容器加边界。 Semaphore中管理着一组虚拟的许可,许可的初始数量可以通过构造函数来指定。在执行操作时,可以首先获得许可,并在使用以后释放许可。如果没有许可。那么acquire操作将一直
2017-09-26 16:30:56 370
原创 FutureTask使用demo
FutureTask表示的计算是通过Callable来实现的,相当于一种可生成结果的Runnable,并且可以处于以下三种状态:等待运行,正在运行,运行结束。执行完成表示所有可能的结束方式,包括正常结束,由于取消而结束和由于异常而结束等。当FutureTask进入完成状态后,它会永远停在这个状态上。 FutureTask.get的行为取决于任务的状态。如果任务已经完成,那么get会立即返回结果,否
2017-09-26 15:59:56 630
原创 ThreadLocal使用介绍
维持线程封闭性的一种常用方法是使用ThreadLocal,这是一个相对于线程来说是全局的变量。可以理解成线程的全局变量。ThreadLocal方法提供了get和set方法,这些方法为每个使用该变量的线程都存有一份独立的副本,因此get总是返回当前执行线程在调用set时设置的最新值。 ThreadLocal对象通常用于防止对可变的单实例变量或全局变量进行共享。例如,在单线程应用程序中可能会维持一个全
2017-09-24 16:29:12 148
原创 shell脚本 编写
简单学习了几个demo,记录一下1.如何在shell脚本中使用变量#!/bin/bashset -eecho "this is a test"echo "there are all files"COUNT=5echo $COUNTif test $COUNT>3then echo "变量大于3"echo $JAVA_HOMEfi2 如何在shell脚本中创建调用函数#!/bin
2017-09-12 12:05:29 263
转载 linux如何设置行号
介绍如何给vim,vi设置行号的http://jingyan.baidu.com/article/22a299b5ca65a49e19376acc.html
2017-09-12 11:02:27 5599
转载 mysql 共享锁和排他锁
关于mysql的共享锁和排它锁,有一个不错的博客http://www.cnblogs.com/boblogsbo/p/5602122.html
2017-09-09 17:06:09 181
原创 如何求一棵二叉树的深度
如何求一棵二叉树的深度,递归实现:public static int getLength(Node root){ if(root==null) return 0; int depth1; int depth2; else{
2017-09-06 17:57:08 1458
转载 nginx学习
什么是ngnix? Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。可以参考以下图例: 什么是反向代理? ngnix接收客户端的请求,将请求分发给各个服务器,然后将各个服务器的结果返回给客户端。那么对于客户端来说就表现为一个反向代理。ngnix的下载安装 官网下载地址:http://nginx.org/ 下载完解压
2017-09-05 22:59:07 370
原创 mysql求2个时间的时间差,mysql求绝对值
记录2个mysql函数 1 求2个时间的时间差TIMESTAMPDIFF(DAY,'2017-03-01','2016-03-05')其中DAY可以换成月份,年,秒 2 求绝对值ABS(-19)
2017-09-04 22:52:18 9678
原创 职责链设计模式
职责链设计模式职责链设计模式:使多个对象都有机会处理请求,从而避免了请求发送者和接受者之间的耦合关系。将这样的对象连成一条链,并沿着这条链传递请求,直到有一个对象处理这里请求为止。 代码如下:抽象出一个处理请求的接口package com.wsy.chain;public interface Handler { public void doHanler(String request);
2017-09-03 18:55:41 201
原创 java反射学习(结合工厂方法)
java反射的应用什么是反射? JAVA反射机制是就是运行的状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。反射的应用场景? 在讲反射的应用场景之前,先来讨论一个开发当中碰到的场景。一步步深入,最后就会发现反射对于代码的质量会有一个质的提升。假设我们的数
2017-09-03 18:27:44 277
转载 mysql取某个范围内的随机时间
SELECT FLOOR(7 + (RAND() * 6)); 取7到12的随机整数,包括7到12 SELECT FLOOR(12+(rand()*13)); 取12到24的随机整数,包括12到24 LPAD(FLOOR(0 + (RAND() * 23)),2,0) 取0-24之间的随机数,不够2位的前补0 格式 : 2008-12-11 17:43:11 举例: 给用户赋一个随
2017-09-01 20:26:34 1134
原创 归并排序-java实现
归并排序的思想:先将数组不断二分,直到不能分时再进行合并。 如:3, 1, 5, 6, 4, 2, 5 先分成3,1,5,6和4,2,5 再对3,1,5,6和4,2,5再进行二分,以3,1,5,6举例: 3,1,5,6被分成3,1和5,6,对3,1再进行二分,得到3和1。因为3和1都不能再进行二分,故而对3,1进行合并,得到1,3。同理5,6合并得到5,6。再对1,3和5,6进行合并得到1,
2017-09-01 13:33:55 192
原创 快速排序-java实现
快速排序是目前现有的最优时间复杂度的排序算法,核心思想是选择一个数作为序列的基准数,将比它大的数放到右边,比它小的数放到它的左边。那么在一次循环之后,这个数的左边都比它小,右边都比它大。所以这个数对于最终结果来说,它已经放在它应该在的位置。因而我们只需要通过递归的思想对基准数左右进行相同的操作即可。所以我们得到如下代码:/** * 快速排序启动器 * @param a
2017-08-31 23:28:25 239
转载 最少硬币问题-java实现
package com.wsy.dynamic;public class DynamicCoin { /** * 最少硬币找零问题 * * @param coinValue * :不同币值的数组 * @param coinKinds * :数组的大小 * @pa
2017-08-31 17:15:25 4611 2
原创 最长公共字符串
网上有不少求最小公共字符串的算法,自己实现了一个。此处仅提供代码实现:package com.wsy.dynamic;import java.util.Arrays;public class DynamicImprove { /** * 求2个字符串最长公共字符核心方法 * @param str1 * @param str2 * @param n
2017-08-30 22:14:34 279
原创 最长公共子序列-java实现
之前看过一个LCS算法的实现过程,觉得太过繁琐。自己写了一个比较简单的,此处仅仅介绍实现过程。 程序代码测试通过,需要的童鞋可以在这里拷贝一下,代码如下:package com.wsy.dynamic;import java.util.HashMap;import java.util.Map;public class ImpLCS { public String getLCS(Strin
2017-08-30 18:49:45 912
原创 动态规划之0/1背包问题-java实现
动态规划问题适合用于解决最优解问题,比如0/1背包问题. 背包问题具体例子:假设现有容量10kg的背包,另外有3个物品,分别为a1,a2,a3。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6。将哪些物品放入背包可使得背包中的总价值最大? 这个问题可以用穷举法实现,但是当数量大了之后,穷举法显然不合适。 先对这个问题进行数学建模,针对a1,a2……
2017-08-30 14:06:46 822 1
转载 余弦定理判断字符串相似度
最近碰到一个需求需要判断文本串的相似度,借助了余弦定理。此处仅提供代码,具体余弦定理的实现原理我不会。保存一下,以后可以直接用,这个算法不支持英文和数字。比如yy和yy哒进行比较,就会有问题。package com.wsy.cosine;import java.io.UnsupportedEncodingException;import java.util.HashMap;import java
2017-08-29 23:53:48 954 2
空空如也
wsdl文件是怎么生成的
2016-09-26
session设置了一小时过期,结果还是几分钟就过期了
2016-09-22
extjs3.0和IE11不兼容怎么办
2016-09-22
IE视图兼容问题怎么办
2016-09-21
html中的水印怎么去除
2016-09-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人