Java - 怎么通过环境变量来切换jdk版本
Java - 安装jdk并设置环境变量
前言
双十一买了台新的笔记本,需要重新安装下Java,这里记录下安装的过程,毕竟万事开头难,就算是老手也不一定能一次就把Java安装成功。
安装jdk
作为一名Java开发,当然是要安装jdk了,如果只是需要Java的运行环境,那么安装jre就足够了。另外说下,jdk里以及包含了jre了。
首先去官网下载Java,由于Sun被Oracle收购了,现在去官网下载Java需要先注册一个Oracle账号,虽然麻烦了点,但是没办法,谁叫Oracle牛逼呢。
由于页面是全英文的,部分同学可能会懵逼,其实没什么,随便找一个版本下载就行。唯一需要注意的是,下载文件之前要先点击一下文件上方的同意协议,否则会提示你还没有同意协议。
cmd - 使用curl命令的注意点
前言
最近在cmd中使用curl命令来测试rest api,发现有不少问题,这里记录一下。
Java - Class版本号和UnsupportedClassVersionError
问题分析
Java是向下兼容的,每一个jdk版本都有对应的class版本号(major + minor version numbers);如果用低版本的jvm去加载高版本jdk编译的类,就会报错:java.lang.UnsupportedClassVersionError
如何正确地打印异常堆栈信息
前言
最近老大让我修改项目里所有和log有关的代码,之前我也用过log4j、slf4j或者Logback等日志框架/接口,一直以为打印异常信息就是简单地一句log.info()或者log.error()而已,没想到原来一直都使用错了,以至于有些错误信息没能在log文件中打印出堆栈信息,最终难以定位bug,排查困难。
Redis - Windows平台下怎么切换db并且清理数据
Redis 本身支持16个数据库(0~15),通过数据库id设置,默认为0。在Windows平台下可以通过启动redis-cli.exe
来进入客户端,客户端默认连接数据库0,在客户端里可以输入各种命令。
增加db数量
可以通过修改配置来增加Redis的db数量。在Windows平台下,打开redis.windows.conf,找到databases 16
并修改即可。
Tomcat问题汇总
Tomcat日志文件的输出在Linux和Windows下的差异
最近发现Tomcat的日志文件catalina.out里存在着大量和公司项目相关的日志信息,因为一般都是会使用日志框架将日志信息输出到另外的文件里,catalina.out文件里是不需要这些多余的日志信息的。
AngularJS - 入门小Demo
AngularJS四大特效
MVC模式、模块化设计、自动化双向数据绑定、依赖注入
如果了解了后端开发知识,想必对这些词汇不会陌生,AngularJS融合了后端开发的一些思想,虽然身为前端框架,但与jQuery框架却是完全不相同的东西。
AngularJS分为几个模块,需要使用哪个模块的功能,就直接引入对应的模块,这种模块化设计具备高内聚、低耦合的特点。 官方提供的模块有:ng、ngRoute、ngAnimate 用户也可以自定义模块:angular.module(‘模块名’, []) 这里的ng是引擎engine的缩写,类似于Nginx的Ngin也是engine的缩写(谐音?)
Java - foreach循环报NPE空指针异常
前言
最近debug时忽然发现,如果一个集合赋值为null,那么对该集合进行foreach循环(也叫增强for循环)时,会报NPE(即空指针异常NullPointerException)。
代码如下: