Java实现Http/Https请求的方式 工作中发现很多服务都是通过Http来提供服务:各模块之间通过Http来请求数据、外部服务例如各种Api(微信公众号小程序接口等)。作为用Java为开发语言的后端开发,实现Http请求的方式有原始Socket、URLConnection、HttpURLConnection、第三方工具HttpClient等。网络上已经有很多前人做了归纳,这里做个笔记: 1. java.ne...
Mybatis的别名问题typeAliases(mybatis3.1.0 VS mybatis3.4.5) 背景: 项目进行架构升级,将mybatis从3.1.0升级到3.4.5,mybatis-spring从1.1.0升级到1.3.1问题:2018-01-10 08:47:59.695 ERROR org.springframework.web.context.ContextLoader 350 initWebApplicationContext - Context initializati
log4j2 RROR StatusLogger Caught java.lang.AbstractMethodError setting feature...setFeature(Ljava..异常 下午将log4j的版本由2.3升级到了2.9.1,并且改用slf4j接口,而不直接调用log4j2的接口。slf4j的好处有多个:强制输出String,避免不规范代码。 例如直接调用log4j的方法log.info(obj),obj可以是个对象,但是当这个对象没有重写toString()方法时,则输出的只是hashcode值。强制输出String则可以避免这种情况。日志模板功能.
FATAL ERROR in native method: JDWP on getting class status, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112) 在Eclipse用jdk1.8和maven编译compile项目,结果显示success,但是后面还跟着好几行错误提示,第一行就是FATAL ERROR in native method: JDWP on getting class status, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)。一搜发现只要改一下eclipse.ini文件的配置就可以解决了。 1.
java class加载 1. JVM加载class文件的两种方法;隐式加载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。显式加载, 通过class.forname()、this.getClass.getClassLoader().loadClass()等方法显式加载需要的类,或者我们自己实现的 ClassLoader 的 findlass() 方法。
java8的interface和abstract class 一:java8接口interface的变化1. 在java8中接口可以有default方法和static方法。java8之前的接口中的方法全部默认为 public abstract method_name(),变量全部默认为public static finaldefault method in interfaceinterface Drawable{ void draw();
log4j与log4j2的配合使用、slf4j log4j2比log4j快很多倍,配置logger和appender的level时粒度更细,这是为啥要使用log4j2的根本原因通常我都是用log4j2来进行日志输出管理的,但还是由很多第三方的jar项目依赖于slf4j日志管理。可以通过添加slf4j-log4j12包依赖,从而将slf4j日志的输出桥接到log4j2或者log4j进行输出管理。 这里我遇到的问题来了,在idea使用jetty r
Could not resolve dependencies for project : Failure to find jar was cached in the local reposit 在IDEA用maven打包(package)项目的时候总是出现这个问题,网上有说这样几个解决方法: 1. -U命令强制更新的 2. 将本地仓库repository中的_maven.repositories文件删除的 3. 要确认所使用的maven版本的,是不是版本问题导致的 我自己这几个方法都试了一遍,后来问题解决了。但是我不确定具体是哪个方法起的作用。反正就是不停的试了几种方法(没有顺序
Unsupported major.minor version 52.0异常 最近全面转到IDEA开发,在用jetty runner插件启动Web项目的时候出现Unsupported major.minor version 52.0这个异常。Google之后发现这个异常一般出现于当你实际使用的jvm比你想运行的class版本更老时。于是我跑到IDEA的插件中看jetty runner的安装说明,其要求最低的jvm是Java 8,而我设置的IDEA的Java jdk为Java
编译型语言or解释型语言 https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513396&idx=1&sn=7d47d0ab0ffe664ffc44f7ae63982bab&chksm=80d679f7b7a1f0e10cc52052c805624510e1e66672d4d4ac78cea9a41802caf81ac6c5faef57&scene=0&key
常用加密算法简介 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5”,翻译过来是“消息摘要算法5”,由MD2、MD3、MD4演变过来的,是一种单向加密算法,是不可逆的一种的加密方式。MD5加密有哪些特点? 压缩性:任意长度的数据,算出的MD5值长度都是固定的。 容易计算:从原数据计算出MD5值很容易。 抗修改性:对原数据进行任何改动,哪怕只修改1
jdk安装后找不到tools.jar和dt.jar 前两天安装JDK1.8的时候遇到一个奇怪的问题——成功安装后发现jdk\lib中没有tools.jar 和 dt.jar包,网上找了下原来是在JDK安装时将JDK和JRE放在了同一目录下,导致了文件的覆盖,即tools.jar 和 dt.jar被覆盖删除了。(先安装jdk后安装jre)解决方法:重新安装jdk,将jdk目录与jre目录设置为不同即可。
String是final类,常规情况下其值是不可变的。但是可以通过非常规方法——反射进行修改 /** 通过反射的方式来修改字符串String类的值 * Created by liaoqianwen on 2016/7/8. */public class StringReflectTest { public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
接口和父类具有同名属性、方法重载 import java.util.ArrayList;import java.util.List;/**1.当接口和父类中具有相同的属性名,而自己没有这个变量又需要使用时,需要指定具体使用父类中的成员变量还是接口中的成员变量 * 2.方法前面只考虑方法的名称、参数类型、参数个数、参数顺序, 不考虑方法的返回类型。 也就是说不能用返回类型来区分重载方法 * 3. 泛型作为方法的参数时,会进
java的反射原理 一、预先需要掌握的知识(java虚拟机) java虚拟机的方法区: java虚拟机有一个运行时数据区,这个数据区又被分为方法区,堆区和栈区,我们这里需要了解的主要是方法区。方法区的主要作用是存储被装载的类的类型信息,当java虚拟机装载某个类型的时候,需要类装载器定位相应的class文件,然后将其读入到java虚拟机中,紧接着虚拟机提取class中的类型信息,将这些信息存储到方法区
Spring如何加载XSD文件(org.xml.sax.SAXParseException: Failed to read schema document错误的解决方法) 转自: http://blog.csdn.net/bluishglc/article/details/7596118开发过程中发现过去一直启动正常的系统,今天启动时会报出形如下面的错误:[plain] view plain copyorg.xml.sax.SAXParseException: schema_reference.4: F
解决gradle DSL method not found: android()问题 将项目导入AS中,发现了这个问题,Google之,按照下面这篇文章找到了解决方法。I’ve been using Android Studio for about a year, since I started to learn how to develop mobile applications. For me, AS is way better than Eclipse: everyt
怎样防止hosts被软件自动修改 打开记事本,根据需要输入以下代码: 一、 禁止修改HOSTS文件: attrib +r +a +s +h %windir%\system32\drivers\etc\hosts echo y|cacls %windir%\system32\drivers\etc\hosts /g everyone:r 二、允许修改HOSTS文件: echo y|cacls %windir%\system