![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
极客世杰
主攻后端,兼修前端,编程就像生活一样,不断地学习、成长和创造。始终保持谦逊和渴望。在代码和人生中,拥抱变化,勇于面对挑战,坚定地追求目标。
展开
-
JDK安装及环境变量配置(windows7)
1. 配置JAVA_HOME,代表JDK的安装目录,如:D:\Program Files\Java\jdk1.8.0_652. 配置CLASSPATH,用来指示编辑器和JVM去哪个目录找.class文件,如:.;D:\Program Files\Java\jdk1.8.0_65\lib\dt.jar;D:\Program Files\Java\jdk1.8.0_65\lib\tools.jar;原创 2016-01-19 22:28:31 · 677 阅读 · 0 评论 -
Java线上应用故障排查之高CPU占用
最近线上频繁报警CPU空闲不足,故紧急排查后作此总结topps -ef|grep 22630ps -mp 22630 -o THREAD,tid,time | sort -nr | head -15printf "%x\n" 22657jstack 22630 |grep 5881 -A 30原创 2016-12-06 12:35:34 · 650 阅读 · 0 评论 -
Linux下分析Java程序内存(pmap、jmap、jstat)
1、pmap查看进程内存运行命令使用pmap可以查看某一个进程(非java的也可以)的内存使用使用情况,命令格式:pmap 进程id示例说明pmap 12358 第一列,内存块起始地址 第二列,占用内存大小 第三列,内存权限 第四列,内存名称,anon表示动态分配的内存,stack表示栈内存 最后一行,占用内存总大小,请注意,此处为虚拟内存大小,占用的物理内存大小可以通过原创 2016-11-19 10:37:22 · 19757 阅读 · 0 评论 -
mac 更新到macos sierra 系统后idea的svn不可用解决办法
下载系统用了将近一天的时间,公司的破网,无力吐槽了,新的macos系统挺不错的,尤其是在处理垃圾文件的时候。使用idea的svn时报了如下错误:Can't use Subversion command line client: svn Probably the path to Subversion executable is wrong网上找了一下,没有类似的解决办原创 2016-10-17 10:53:46 · 3504 阅读 · 1 评论 -
JAVA分析内存泄露
常用命令jmap -histo 24848 | more > tmp.log原创 2016-09-29 10:56:31 · 257 阅读 · 0 评论 -
为何要面向接口编程?
我们常常说要面向接口编程,似乎它是一种流行,一种规范,可是为什么要这么做,很多人就说不清楚了,网上也有很多这样的问题,我大概总结一下:1. 一种规范约束 制定者(或者叫协调者),实现者(或者叫生产者),调用者(或者叫消费者)。 接口本质上就是由制定者来协调实现者和调用者之间的关系。 只有实现者和调用者都遵循“面向接口编程”这个准则,制定者的协调目的才能达到。原创 2016-09-10 16:09:41 · 422 阅读 · 0 评论 -
Tomcat与JDK版本对应关系
Tomcat与JDK版本对应关系表原创 2016-08-05 18:11:25 · 3953 阅读 · 2 评论 -
深入理解Java:注解(Annotation)--注解处理器
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotati转载 2016-06-14 13:20:08 · 399 阅读 · 0 评论 -
深入理解Java:注解(Annotation)自定义注解入门
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target,转载 2016-06-14 11:44:49 · 271 阅读 · 0 评论 -
Spring流程图之一图胜千言
Spring流程图原创 2016-06-14 09:47:04 · 725 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
Spring Boot内嵌tomcat启动报错如下:GRAVE: Servlet.service() for servlet DiffOntology threw exceptionjava.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest at org.apache.commons.fileupload.se原创 2016-05-17 23:39:02 · 6760 阅读 · 0 评论 -
软件开发必备之-设计原则
1、单一职责原则一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离。from:百度百科2、开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序原创 2016-05-17 14:13:40 · 443 阅读 · 0 评论 -
java设计模式-单列模式
//一个完美的单例模式public class Singleton { /* 私有构造方法,防止被实例化 */ private Singleton() { } /* 此处使用一个内部类来维护单例 */ private static class SingletonFactory { private static Singleton instance原创 2016-04-17 23:07:44 · 355 阅读 · 0 评论 -
preparedStatement和Statement 有什么不一样
在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.也就是说,在任何时候都不要使用Statement一.代码的可读性和可维护性.虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次:stmt.ex原创 2016-04-16 22:24:02 · 298 阅读 · 0 评论 -
JAVA中最常见到的exception
运行时异常runtime exceptionArithmeticException IndexOutOfBoundsException NullPointerException SystemExceptionClassCastException SecurityException一般异常:IOExceptionFileNotFoundExceptionSqlException原创 2016-04-16 21:32:10 · 417 阅读 · 0 评论 -
java中常用的包
java.lang提供利用 Java 编程语言进行程序设计的基础类。最重要的类是 Object(它是类层次结构的根)和 Class(它的实例表示正在运行的应用程序中的类)。java.util包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)原创 2016-04-13 00:04:23 · 258 阅读 · 0 评论 -
JSP九大内置对象和四大作用域及其作用
序号 对象名 说明 类型 作用域 1、 request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request 2、 response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page 3、 session 会话对象 类型 javax.servl原创 2016-03-31 15:18:27 · 374 阅读 · 0 评论 -
Java最佳线程数
对于计算密集型任务,在拥有Ncpu个处理器的系统上,当线程池大小为N+1时,通常能实现最优的利用率,(即当计算密集型任务偶尔由于页缺失故障或者其他原因而暂停时,这个额外的现线程也能够确保CPU的时钟周期不会被浪费。) 对于包含IO操作或者其他阻塞操作的任务,由于线程并不会一直执行,因此线程池的规模应该更大.要正确的设置线程池的大小,你必须估算出任务的等待时间和计算时间的比值。这种估算不需要很精确,并原创 2017-09-21 11:20:42 · 887 阅读 · 0 评论