Java
文章平均质量分 64
hu_wenjie
运维开发工程师,负责系统各层级的自动化监控开发、系统的自动化巡检开发、熟悉微服务项目的自动化部署、集群方案部署、熟练掌握故障分析定位等。
展开
-
Java JVM常见的配置参数说明
1、JVM常用参数-Xms初始堆内存大小,默认物理内存64/1 -Xms = -XX:InitialHeapSize-Xmx最大堆内存,默认物理内存4/1...原创 2021-02-23 11:42:26 · 1222 阅读 · 0 评论 -
tomcat启动项目时抛出的严重错误
启动tomcat容器时,抛出严重异常java.lang.NoSuchMethodError: org.apache.logging.log4j.ThreadContext.getThreadContextMap()The methodThreadContext.getThreadContextMap()was added in 2.8. The only way I can imagi...原创 2017-08-03 10:15:28 · 2523 阅读 · 0 评论 -
tomcat8遇到servlet-api的问题
今天升级到tomcat8,发现原来的项目不能运行了,遇到下面的错误:The method getDispatcherType() is undefined for the type HttpServletRequest。 意思就是在HttpServletRequest没有定义getDispatcherType方法,上网找找了资料说是因为tomcat8里已经有了,老项目里的和他重复了,打开lib原创 2017-06-17 16:27:19 · 5376 阅读 · 0 评论 -
Java使用Redis实现消息队列
应用场景为什么要用redis?二进制存储、java序列化传输、IO连接数高、连接频繁一、序列化 这里编写了一个java序列化的工具,主要是将对象转化为byte数组,和根据byte数组反序列化成java对象; 主要是用到了ByteArrayOutputStream和ByteArrayInputStream; 注意:每个需要序列化的对象都要实现Serializable接口原创 2017-09-27 13:18:07 · 2996 阅读 · 2 评论 -
Linux与JVM的内存关系分析
引言在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示。同时,由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了?转载 2017-10-20 10:50:52 · 686 阅读 · 0 评论 -
Unable to complete the scan for annotations for web application [] due to a StackOverflowError
tomcat启动时检测到循环继承而栈溢出的问题使用tomcat启动项目的时候遇到的错误:Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible原创 2018-01-12 15:26:50 · 2181 阅读 · 1 评论 -
windowns 安装tomcat的服务
环境: windows: 2008 tomcat :7.0.39Ctrl+R 进入命令行模式cd 到 apache-tomcat -7.0.39/bin 目录下然后执行:serivice.bat install [服务名] 服务器需参照service.bat 文件中的 set SERVICE_NAME=Tomcat7然后就可以通过服务启动tomcat7原创 2018-01-17 15:22:39 · 259 阅读 · 0 评论 -
分布式集群Session共享 简单多tomcat8+redis的session共享实现
什么是Session/Cookie 用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互。HTTP协议本身是无状态的,当用户的第一次访问请求结束后,后端服务器就无法知道下一次来访问的还是不是上次访问的用户。我们需要基于HTTP协议支持会话状态的机制,这样的机制可以使Web服务器从多次单独的HTTP请求中知道哪些请求是来自哪个会话的。 Session与Cookie...转载 2017-01-16 17:06:47 · 832 阅读 · 0 评论 -
Java内存优化和性能优化的几点建议
1.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收。有时,开发者会将经常调用的对象或者变量定义为static,以便提高程序的运行性能。因此,不是常用到的对象或者变量,不要定义为static类型的变量,尤其是静态类对象的定义,一定要仔细考虑是否有必要。例如 1 2 3 ...原创 2018-09-25 10:56:29 · 1443 阅读 · 2 评论 -
tomcat启动慢的问题处理方法
项目启动的时候经常出现需要启动很久的情况,但是排查初始化代码并没有需要占用很多时间,网上查了些资料如果用Tomcat /dev/random作为关键字基本上就能够回答我们的疑惑了。Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥。为了提高安全性Tomcat在启动的时候回通过随机生成一个密钥。 在 http://wiki.apache....原创 2018-09-30 13:59:56 · 2252 阅读 · 0 评论 -
MyEclipse 安装SVN的操作步骤
一、安装方法: 方法一、如果可以上网可在线安装 1. 打开Myeclipse,在菜单栏中选择Help→Software Updates→Find and Install; 2. 选择Search for new features to install,点击Next进入下一步; 3. 点击"New Remote Site"按钮,在弹出的对话框中输入:原创 2013-04-26 10:21:26 · 1126 阅读 · 0 评论 -
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存...原创 2017-03-23 15:37:47 · 787 阅读 · 0 评论 -
Java自带的GUI性能监控工具Jconsole以及JisualVM简介
1 Jconsole1.1 简介以及连接 JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,它是Java自带的简单性能监控工具。下面以对tomcat的监控为例,带领大家熟悉Jconsole这个工具。 Step 1,在dos/bash命令下输入:jconsole; Step 2,在弹出的对话框中选中apache,并点击connect(假设你转载 2017-03-23 15:21:08 · 1755 阅读 · 0 评论 -
JProfiler之java剖析工具
1 前言 开始之前,我问自己,为什么要学习jProfiler? 回答之前先让我们来看看什么是jProfiler:JProfiler是一个商业授权的Java剖析工具,由EJ技术有限公司,针对Java EE和Java SE应用程序开发的。它允许两个内存剖面评估内存使用情况和动态分配泄漏和CPU剖析,以评估线程冲突。JProfiler直觉式的GUI让你可以找到性能瓶颈、抓出转载 2017-03-23 15:23:23 · 6783 阅读 · 0 评论 -
Java多线程-并发协作(生产者消费者模型)
Java多线程-并发协作(生产者消费者模型)对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产,仓满则停止生产。2、消费者转载 2017-03-23 15:32:51 · 570 阅读 · 0 评论 -
java枚举使用介绍
java枚举使用详解在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。package com.huwj.test;/**原创 2017-03-23 15:29:12 · 556 阅读 · 2 评论 -
AJAX问题之XMLHttpRequest status = 0
其实这篇文章要写的不止是XMLHttpRequest status = 0 这个问题,还有我重新看AJAX遇到的一些问题和自己的反思。先看整个例子:[html] view plain copy print?html> head> script type="text/javascript"> var转载 2016-07-30 10:27:42 · 1457 阅读 · 0 评论 -
Java - 搭建 Spring MVC 框架
如何创建一个 Spring 项目Spring MVC 框架在 Java 的 Web 项目中应该是无人不知的吧,你不会搭建一个 Spring 框架?作为身为一个刚刚学习Java的我都会,如果你不会的话,那可真令人忧伤。1.在 MyEclipse 创建项目后,可以以选择的方式去配置一个 Spring 项目,这里不在讨论。因为我只用 Eclipse。2.手动搭建。就是动手。原创 2016-12-14 11:03:31 · 976 阅读 · 0 评论 -
jconsole连接linux服务器查看JVM使用情况,服务器配置记录
这段时间,因为项目要上线,所以要进行压力测试,这就牵涉到要测试系统性能问题,查看JVM的使用情况是必不可少的,不然上生产后造成内存泄露就over了。服务器用的是阿里云的云服务器,预装的Centos,然后在本地用JDK自带的查看JVM使用情况工具jconsole来监控一下在高并发情况下JVM使用情况。 首先在配置服务器的JMX之前,在网上google的半天,看了一些文章后,觉得配置起来很简单,就转载 2016-12-14 10:46:08 · 2871 阅读 · 0 评论 -
spring框架学习
转载至:http://blog.csdn.net/lishuangzhe7047/article/details/207402091,什么是spring框架spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。 2转载 2017-04-13 15:16:25 · 3036 阅读 · 0 评论 -
Jetty 的工作原理以及与 Tomcat 的比较
转:http://xulingbo.netJetty 的工作原理以及与 Tomcat 的比较简介: Jetty 应该是目前最活跃也是很有前景的一个 Servlet 引擎。本文将介绍 Jetty 基本架构与基本的工作原理:您将了解到 Jetty 的基本体系结构;Jetty 的启动过程;Jetty 如何接受和处理用户的请求。你还将了解到 AJP 的一些细节:Jetty 如何基于转载 2017-04-13 16:40:29 · 631 阅读 · 0 评论 -
JAVA堆里放啥,栈里放啥,一看就懂
关于堆栈的内容网上已经有很多资料了,这是我找的加上自己理解的一篇说明文:一、内存区域类型1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制;1. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(对象可能在常量池里)(字符串常量对象存放在常量池中。);2. 堆:存放所有new出来的转载 2016-12-14 10:52:53 · 16912 阅读 · 6 评论