This application requires a Java Runtime Environment 1.7.0

系统已经安装过了 JDK,也配置了JAVA_HOME等环境变量,其他依赖 jdk 的应用程序都能正常运行。但运行jd-gui时提示需要java1.7环境,很可能程序是直接通过读取注册表判断 java 版本及相关信息引起的。 方法1 java -jar jd-gui.exe 每 »

Tomcat 配置与优化(内存、并发)

1.JVM内存配置优化 在应用服务器启动时,会将应用引用到的所有类通过ClassLoader依次全部加载到内存当中。Java的逻辑内存模型大致分为堆内存、栈内存、静态内存区,也称持久区,该区的内存不会被GC回收。堆内存用于存储类的实例、数组等引用类型数据,也就是用new生成的对象 »

ThreadLocal

ThreadLocal 不是用来解决共享变量问题的,它与多线程的并发问题没有任何关系。 1.简介   早在 JDK 1.2 的版本中就提供Java.lang.ThreadLocal,1.5 开始,ThreadLocal 开始支持泛型。ThreadLocal 为解决多线程程序 »

[笔记]Java 多线程编程核心技术

1.Java 多线程技能 1.使用 interrupt 方法中断线程,不要使用 stop、suspend等方法(不安全、且已被废弃) 当对一个线程调用了 interrupt()之后,如果该线程处于被阻塞状态(比如执行了wait、sleep或join等方法),那么会立即退出 »

碎片知识

DevOps 可参考码农翻身《什么是DevOps》 目前对 DevOps 有太多的说法和定义,不过它们都有一个共同的思想:“解决开发者与运维者之间曾经不可逾越的鸿沟,增强开发者与运维者之间的沟通和交流”。而我个人认为,DevOps 可以用一个公式表达: 文化观念的改变 + »

ActiveMQ1--安装、配置

1.下载安装 ActiveMQ ActiveMQ 官网下载地址:http://activemq.apache.org/download.html 可根据操作系统不同,下载不同版本,此处我下载的是apache-activemq-5.15.2-bin.tar.gz linux 版本 »

Java并发编程1——volatile关键字解析

阅读Java并发编程:volatile关键字解析一文后有感。 并发编程中的三个概念 原子性 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 可见性 可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到 »

Spring中默认bean名称的生成策略/方式修改

在公司不同团队开发再整合时经常会遇到一个问题(公司架构基于SpringMVC),就是在使用注解的时候,两个模块里的这个资源都叫 xxxService ,这样在 Spring 启动的时候就会报错。错误如下 conflicts with existing, non-compatibl »

Spring Boot学习3——日志管理

Spring Boot在所有内部日志中使用 Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2 和 Logback。每种 Logger 都可以通过配置使用控制台或者文件输出日志内容。 默 »

Spring Boot学习2——自定义banner

Spring Boot程序启动的时候,会输出由字符组成的Spring符号,这个就是Spring Boot为自己设计的Banner。 其实我们可以自定义banner: 1.开启/关闭Banner Spring Boot 1.x 方法1.在Application的main方法中设置 »

Spring Boot学习1——配置文件

读取核心配置文件 核心配置文件是指在 resources 根目录下的 application.properties 或 application.yml 配置文件,读取这两个配置文件的方法有两种,都比较简单。 核心配置文件 application.properties 内容如下: »

断点续传

1.断点续传——下载 其实断点续传的原理很简单,就是在Http的请求上和一般的下载有所不同而已。 以七牛文件服务器为例,使用curl命令模拟分段请求,请求时把 respons 的 header dump 到一个文件里: 命令如下: cd /tmp/range/ curl - »

Springboot启动

Maven是一个常用的构建工具,但是Maven的版本和插件的配合并不是那么完美,有时候你不得不切换到一个稍微旧一些的版本,以保证所有东西正常工作。 而Gradle提供了一个Wrapper,可以很好解决版本切换的问题,当然更重要的是不需要预安装Gradle。 Maven虽然没有官方 »

Ubuntu14.04服务器篇

这个周末赶上阿里云和某东关于云服务器掐架,新用户花5元即可购买半年 ECS (配置为1核2G1M,国内三个可用区)。果断撸了一台。正好下午有时间测试一下。 1.java 环境配置 1.1 先下载jdk http://www.oracle.com/technetwork/java »

Java通过BCrypt加密

一、概述 在用户模块,对于用户密码的保护,通常都会进行加密。我们通常对密码进行加密,然后存放在数据库中,在用户进行登录的时候,将其输入的密码进行加密然后与数据库中存放的密文进行比较,以验证用户密码是否正确。 目前,MD5和BCrypt比较流行。相对来说,BCrypt比MD5更安 »

Awesome Java

JAVA资源大集合 Awesome-java得到了7490个Star,作者将JAVA中那些最常用的第三方库按照分类整理成了一个列表。包含Ancients(古老,但常用的),Bean Mapping,Build,Bytecode Manipulation,Code Analysi »

Findbugs使用

github地址 FindBugs 作用 开发人员在开发了一部分代码后,可以使用FindBugs进行代码缺陷的检查。提高代码的质量,同时也可以减少测试人员给你报的bug数。 Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问 »