- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 Dependency与DependencyManagement的区别
为project引入依赖是为project下的所有module个共同依赖,提供了一个统一的声明的途径,用以保证所有module的依赖版本一致性。当parent与module中声明的版本号发生冲突时,优先依赖parent中声明的版本号。
2016-11-30 10:18:44
1582
原创 IE下载文件时,中文文件名乱码问题
经排查,Content-Disposition中的filename进行了两次URL转码。以汉字漫为例:第一次转码,漫变为%E6%BC%AB。第二次转码,%E6%BC%AB变为%25E6%25BC%25AB(第二次转码时,因为%是特殊字符,所以会转为%25)。前端下载时:Chrome浏览器可以自动执行两次URL解码,所以下载的文件名是正常的。IE浏览器只执行一次URL解码,所以下载的文件名是
2016-11-18 20:10:47
5863
1
原创 Integer.valueOf转换负数时抛出NumberFormatException
Integer.valueOf转换负数时抛出NumberFormatException1. 问题描述今天在牛客上,有牛友抛出了这样一个问题: Integer m =Integer.valueOf("11111111111111111111111100000000",2); 上面这段代码,二进制数的长度是32位,没超出Integer的范围,为什么会抛出NumberFormatException的
2016-09-09 10:14:35
8142
原创 几个常见的DP问题及解法
前言记录一些最近遇到的DP问题,并给出解法。只会记录我知道的最优解法(一般是时间最优),并贴出源码。有OJ的还会贴上地址。1. 求字符串的最长不重复子串的长度举例:abcabcbb,返回abc;bbbbb,返回b;pwwkew,返回wke。注意pwke是子序列,不是子串。问题分析: 记字符串存放在字符数组cs中,遍历cs的下标为i。分析可知,想求截止到i的最长不重复子串的长度,只要从i向左
2016-08-01 00:12:08
12117
原创 协变、逆变与不变:数组、泛型、与返回类型
1. 前言之前几篇博文,有些地方涉及到了协变性、逆变性与不变性在Java中的表现,所以这篇博文将重点记录这方面的内容,并辅以JDK源码中的一些实例,加以说明。2. 定义这里讨论的协变、逆变与不变都是编程语言中的概念。下面介绍定义: 若类A是类B的子类,则记作A ≦ B。设有变换f(),若:当A ≦ B时,有f(A)≦ f(B),则称变换f()具有协变性。当A ≦ B时,有f(B)≦ f(A),
2016-07-30 17:38:11
2500
1
原创 static实现单例的隐患
1. 前言Java的单例有多种实现方式:单线程下的简单版本、无法在指令重排序下正常工作的Double-Check、static、内部类+static、枚举……。这篇文章要讨论的,是在使用static实现饿汉模式的单例时,会有隐患存在。2. Static单例的隐患2.1 传统写法static实现单例的代码如下:public class Singleton { private static Si
2016-07-29 13:10:31
2008
原创 Java泛型的实现:“禁止”泛型数组
1. 问题来源今天在刷题时,遇到了需要使用泛型数组的场景。题目是按之字形打印二叉树。这道题目需要交替使用两个栈来解决,我的初始代码为:ArrayDeque<TreeNode>[] stacks = new ArrayDeque<TreeNode>[2]; //1stacks[0] = new ArrayDeque<TreeNode>();stacks[1] = new ArrayDequ
2016-07-28 20:24:44
6389
2
原创 从1到n整数中1出现的次数:O(logn)算法
1. 题目描述输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。2. 题目来源第一次看到是在《剑指Offer》第2版上,leetcode和牛客网上都有这道题。3. 本片博客的目的看了《剑指Offer》上的解法,我觉得不能算好:这段解释描述有些不清晰,而且没有图,难以理解。从书中给出的实现上来看,
2016-07-26 13:13:54
27883
37
原创 Java泛型的实现:原理与问题
很久没写博客了,因为项目和一些个人原因。最近复习找工作,看书+回想项目后有一些心得,加上博客停更这么长时间以来的积累,很是有些东西可写。从今儿开始,慢慢把之前积累的东西补上来,方便以后查漏补缺。 先从最近的开始。昨天看到Java泛型相关的内容,有些疑惑,查资料之后发现这部分很有些有意思的东西,比如类型擦除带来的重写问题等等,一并记录在这篇文章里。1. 泛型定义看了很多泛型的解释百度百科,解释1,解
2016-07-23 12:36:55
11203
4
原创 Java多线程中同步Boolean问题
最近在使用netty写个小玩意儿,其中在通信时,Server给Client的响应中,要包含一组信息,直到Client成功收到并解析。 这需要有一个Flag,一开始我使用Boolean, 变量名receivedPeerList,以构造函数参数的形式传递进channelHandler中,然后在主线程和netty的channelRead事件中同步它。 用法如下: channelRead中修改它:
2015-12-27 15:06:01
5186
原创 KVM的DHCP无法自动获取IP
看到有人说,是host防火墙的问题,于是stop了iptables,再在guest中ifup,果然可以了。所以,解决方法是关闭防火墙,或者打开dhcp:-A INPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT
2015-10-21 17:19:45
2502
原创 iptables规则的顺序
在iptables的INPUT CHAIN、FORWARD CHIAN和OUTPUT CHAIN中,每当遇到匹配的ACCEPT或者REJECT或者DROP规则时,就不会再继续向下匹配。 所以,以INPUT CHAIN为例,如果想打开某一个特定端口(比如TCP 1990),而屏蔽掉其它端口,应该这样配置:-A INPUT -p tcp --dport 1990 -j ACCEPT-A INPUT
2015-08-17 21:39:54
1428
原创 使用Archiva搭建Maven私有仓库
工具安装tomcatWeb Application方式安装Archiva1 部署到tomcat2 图形界面配置Archiva配置本地Maven1 配置私有仓库信息2 配置私有仓库的认证信息在Maven项目中配置上传artifact1.工具apache-archivaapache-tomcatapache-maven 我所使用的版本是:archiva-2.2.0,war包版本
2015-08-15 23:18:35
4451
4
原创 关于Comparable的compareTo的正确写法
先描述一下我的element,看源码:private static class Solution implements Comparable<Solution>{ final int width; final int height; double lwr; //长宽比(length-width ratio)
2015-07-23 19:16:16
1691
原创 Java Console乱码
问题源于某公司的一道机试题,要求是写一个网络聊天室,客户端用telnet连接到服务器。 实现接近尾声的时候,突然发现从控制台输入的中文是乱码。我的代码如下:InputStreamReader is = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(is);while(true) { tr
2015-07-13 12:59:50
1618
1
原创 Java AOP实现
业务代码使用动态代理使用cglib使用javassit总结1. 业务代码public interface CellPhone { void description(Integer sequence); void setVersion(String version);}public class IOS implements CellPhone { private S
2015-07-06 16:32:27
681
原创 Tomcat的一些琐事
文件资源4041.文件资源404一张图片,路径是正确的,但是访问总返回404。这里请注意一下一个奇葩的问题:文件的后缀。 在windows下,如果是隐藏了文件后缀,这里会有个坑。 我的图片后缀是大写的PNG,而因为隐藏了后缀,我一直认为是小写的png,所以一直是404。 从这里也能看出来Tomcat在处理Url时是区分大小写的。
2015-07-05 13:10:12
650
原创 使用Maven实现一键部署war到Tomcat
使用Maven实现一键部署war到Tomcat使用Maven实现一键部署war到Tomcat环境Tomcat设置Maven配置POM配置执行Errors1. 环境maven:3.2.3tomcat:7.0.53tomcat-maven-plugins:2.22. Tomcat设置实现这个功能需要在maven中增加tomcat的访问权限,所以我们要先在中tomcat增加一个管理权
2015-07-04 15:23:02
791
原创 Linux下SSh无密钥登录
最近在搭openstack,因为经常ssh,所以要搞一下这个。之前搭hadoop的时候已经搞过,只是当时没有记录。这次记录下来,方便以后使用。Step 1 生成public/private key pairssh-keygen -t rsa(Enter your id_rsa save path)(Passphrase)(Confirm Passphrase)这里注意,如果要配置对多个节点的无
2015-05-04 15:11:11
975
转载 Shell脚本中执行sql
这里介绍两种方法:一. 使用-e执行简单的命令。mysql -uuser -ppassword -e YOUR_SQL;二. 使用delimiter。mysql -uuser -ppassword <<delimiterYOU_SQLdelimiter<<delimiter表示后面直到delimiter之前的文本作为<<前面的执行程序的输入。 delimiter的位置可以换成任意分隔符,但是要
2015-05-01 21:48:42
710
原创 SSH Permission Denied
使用ssh远程登录或者使用scp传输文件时,使用root登录,提示Permission Denied。 解决方案是修改sshd的配置,添加PermitRootLogin yes即可。 最后记得重启ssh服务servier ssh restart
2015-04-29 21:48:32
1040
原创 Set的add方法返回false
遇到这个问题的时候,第一反应是SQL写错了,因为我是遍历ResultSet调用的Set.add。 后来发现不是SQL的问题,再仔细想了一下,发现了问题所在。 我的Bean实现了Comparable接口,compareTo是这么写的public int compareTo(GirlInfo o) { if(girlSupportNumber > o.getGirlSupportNumber
2015-04-19 23:18:32
1980
原创 ajax无法解析json的错误
和同学一起在做的一个项目,最近要配合另外一个活动,需要做一个相关的子系统。但是今天在用ajax时发现返回的json无法解析。 data是ajaxsuccess时的返回的数据,当我使用alert(data)输出时,发现直接打印了json字符串,这说明把返回的数据当做纯文本来处理了。 后来在Servlet中加了一句response.setContentType("application/json")
2015-04-19 19:13:07
2762
原创 KVM 镜像快照的创建
KVM 镜像快照的创建文件格式是raw的镜像是不能创建快照的,所以首先查看你的镜像的文件格式qemu-img info img name>如果显示信息如下:image: ../controller1/controller1.imgfile format: rawvirtual size: 10G (10737418240 bytes)disk size: 1.9Gr
2015-04-13 22:15:56
792
原创 KVM VM硬盘满的解决方案
KVM VM硬盘满的解决方案搭建OpenStack时只分配了3G大小给镜像,导致安装到一半空间满了。此时有两个办法,一是再加一块硬盘给VM,但是需要以后安装的文件都安装到对应的挂在目录下;二是扩展现有硬盘的大小。这里选择第二种。 首先记得创建快照virsh snapshot-create controller1修改镜像大小qemu-img resize img path> +
2015-04-13 22:15:37
1472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人