`
文章列表
public static void main(String[] args) throws UnsupportedEncodingException { String a="\uD864\uDD00"; System.out.println(a.length()); //结果是2 System.out.println(a.codePointCount(0, a.length())); //结果是1 这个才要正确姿势 System.out.println(a.getBytes("utf8").length); // ...
启动一切都是好好的,也没报什么错,但是访问的时候就是各种404.那个愁啊。 各种配置确认,server.xml也确认了,webapps目录也确认了。各种都是没问题啊。 只能再仔细看看日志了,在 localhost.2017-05-23.log 发现了这个: INFO: No Spring WebApplicationInitializer types detected on classpath 感觉是能找到应用的啊,不然为什么会提示spring啊,但是为什么找不到WebApplicationInitializer呢。 只能google一下了 上面有些说要情空wrok目录的东西,做了,不好 ...
public class Main { public static void main(String[] args) throws UnsupportedEncodingException { String a="a"; System.out.println(a.length()); byte[] bb= a.getBytes("UTF-16"); System.out.println(binary(bb,16)); System.out.prin ...
tomcat反序列化的过程中一直报ClassNotFoundException,这个是什么原因呢 很明显是classloader找不到这个class,为什么呢,我的应用代码中明明就有啊。 实际上java反序列化的时候,我们一般用的是ObjectInputStream,他默认会去找sun.misc.VM.latestUserDefinedLoader(),这个就是系统默认的appClassloader。 重点来了,我们的tomcat中应用代码的类不是appClassloader,而是webAppClassloader,是tomcat自己搞的一个classLoader。 解决方法:写个类继 ...
目前看到的影响有两个:影响类名的读取和Main方法参数的读取。 1 影响类名的读取 设置 -Dsun.jnu.encoding=gbk public class 中文 { public static void main(String[] args) throws Exception { } } //这个会运行报错: Exception in thread "main" java.lang.ClassNotFoundException: com.涓枃 at java.net.URLClassLoader.findClass( ...
我有这样两个类 package com.vipshop.mapi.wallet.test; import java.util.List; public class A<R> { private List<R> list; public List<R> getList() { return list; } public void setList(List<R> list) { this.list = list; } } pa ...
超时是一种很常见的边界条件,我们如何验证这种边界条件呢。 超时时间一般是可以配置的,我们如何测试我们的配置生效没有呢。 对于自己的代码,我们可以简单粗暴的sleep一段时间,但是超时一般都是对于其他系统的,我们不能修改别的系统代码,这个时候怎么办呢? 这个时候tc qdisc就派上用场了。 tc 是Linux 系统中的一个工具,全名为 traffic control(流量控制),qdisc是Tc中的队列,通过队列的控制,可以实现发包的控制,从而实现模拟延时。 注意是发起请求的服务器进行设置,因为tc控制的是发包动作 设置超时 (这里的1000ms可以改成你想要的) tc qdisc add ...
先说问题的结论:https://jira.terracotta.org/jira/browse/QTZ-45 问题的解决方法:https://issues.jboss.org/browse/JBAS-8598  其实就是升级到1.8.3 就解决了 问题的源头: 项目中的代码发现死锁,jstack查看线程堆栈: Found one Java-level deadlock: ===== ...
项目中实际的代码,我们实际的金额单位是元,精确到分,另外一个系统传递的时候需要的是整数,就是分,我们就简单乘以100转换了下,结果发现是有问题的: public static void main(String[] args) { double payMoney = Double.valueOf("1253.59"); String result = String.valueOf((int)(payMoney * 100)); System.out.println(result); } 结果 ...

map和flatmap的区别

对于stream,   两者的输入都是stream的每一个元素,map的输出对应一个元素,必然是一个元素(null也是要返回),flatmap是0或者多个元素(为null的时候其实就是0个元素)。 flatmap的意义在于,一般的java方法都是返回一个结果,但是对于结果数量不确定的时候,用map这种java方法的方式,是不太灵活的,所以引入了flatmap。 对于Optional的map和flatmap: map是把结果自动封装成一个Optional,但是flatmap需要你自己去封装。 public static void main(String[] args) { Opti ...
Calendar.getInstance()看起来应该是个单例,但实际上并不是。 一次在JProfile中查看CPU的消耗的时候,发现 Calendar.getInstance() 消耗的CPU占比比较大,具体看了下代码才发现实际上是每次都创建对象的。 public static Calendar getInstance(TimeZone zone, Locale aLocale) { return createCalendar(zone, aLocale); } ...
需求:a,b两个任务都处理(不管a,b是成功还是失败)后,执行后面的任务。 代码1: var leftResult = leftPromise.then( function (value) { console.info("jsonA end"); }, function () { console.info("jsonA fail"); } ); var rightResult = rightPromise.then( function (value) { ...

http的501错误

普通的url请求是get put之类的,如果是乱七八糟的,比如et,tomcat就会报501错误。 curl -X  可以指定请求方式
public class Son extends Father { String value = null;//2 public Son() { super(); //1 System.out.println("Son: " + value);//3 } public static void main(final String[] args) { new Son(); } } class Father { public F ...
只是需要一行代码: String result = new Scanner(new URL("http://www.baidu.com").openStream(), "UTF-8").useDelimiter("\\A").next(); 上面那个虽然看上去是一行代码,还是有点繁琐的。借助其他类库可以更加简单,比如用IOUtils IOUtils.toString(URL url, String encoding)
Global site tag (gtag.js) - Google Analytics