
Java 技术
文章平均质量分 52
leehsiao
这个作者很懒,什么都没留下…
展开
-
Bloom Filters : 布隆过滤
https://hackernoon.com/probabilistic-data-structures-bloom-filter-5374112a7832 https://www.jasondavies.com/bloomfilter/原创 2020-02-28 11:18:19 · 361 阅读 · 0 评论 -
线上应用故障排除:高CPU占用和高内存占用
(友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen) 一、高CPU占用 一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。 通...转载 2020-01-15 15:24:31 · 746 阅读 · 0 评论 -
java.concurrent 包类的总结
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的转载 2016-06-16 14:26:04 · 1221 阅读 · 0 评论 -
eclipse支持sun.*包的配置
在项目中使用BASE64Decoder,eclipse的编辑器莫名报错, Multiple markers at this line - Access restriction: The type BASE64Decoder is not accessible due to restriction on required library C:\Program Files\Java\jre原创 2016-07-06 14:37:49 · 3567 阅读 · 0 评论 -
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
转载:http://blog.youkuaiyun.com/luanlouis/article/details/24589193转载 2016-07-06 15:46:10 · 372 阅读 · 0 评论 -
Tomcat 配置详解/优化方案
Server.xml配置文件用于对整个容器进行相关的配置。 元素: 是整个配置文件的根元素。表示整个Catalina容器。 属性: className:实现了org.apache.catalina.Server接口的类名,标准实现类是org.apache.catalina.core.StandardServer类。 Port:Tomcat服务器监听用于关闭Tomcat服务器的命令(必须)转载 2016-07-21 21:09:36 · 4213 阅读 · 0 评论 -
linux下tomcat单机多实例
1. 下载tomcat : [root@bogon data]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.73/bin/apache-tomcat-7.0.73.tar.gz 注:确保下载的是tomcat文件,建议先下载,在通过SFTP传到linux 指定的文件夹。 解压:[原创 2016-11-29 11:17:23 · 2887 阅读 · 0 评论 -
GC日志分析
本博客来自:http://blog.youkuaiyun.com/yxc135/article/details/12137663 点击打开链接 尊重原创 首先,给出一个日志输出的例子: package jvm.gc; import java.util.ArrayList; import java.util.List; /** * 简单的JAVA虚拟机内存回收,Parallel S转载 2017-08-22 17:18:07 · 490 阅读 · 0 评论 -
JVM垃圾收集器之CMS收集器
CMS(Concurrent Mark Sweep) 收集器是一种以获取最短回收停顿时间为目标的收集器。 1、CMS使用的算法 CMS使用的算法为“标记-清除”算法 2、运行过程4步骤 a、初始标记(CMS initial mark) b、并发标记(CMS concurrent mark) c、重新标记(CMS remark)原创 2017-08-22 21:11:20 · 466 阅读 · 0 评论 -
JVM 自带工具介绍
JDK 的自带工具所在目录,相信大家都已经很清楚了:windows版本:jdk\bin,具体的实现是jdk\lib\tools.jar中,有兴趣的朋友可以看看,在本文主要介绍一下几个比较常用的工具: SUN JDK 监控和故障处理工具 1、jps :虚拟机进程状况工具 功...原创 2017-08-28 20:06:05 · 669 阅读 · 0 评论 -
Java虚拟机详解----JVM常见问题总结
【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4810168.html 【正文】 声明:本文只是做一个总结,有关jvm的详细知识可以参考本人之前的系列文章,尤其是那篇:Java虚拟机详解04----G转载 2016-07-15 14:18:35 · 1355 阅读 · 0 评论 -
JVM监视与管理控制台之JConsole
JConsole 是Java 自带的基于JMX得可视化监控、管理工具。本文主要介绍JConsole的监控功能。 1、JConsole 启动 通过安装的JDK 下的${jdkhome}/bin目录下的jconsole.exe启动,启动后会自动搜索到本机启动的jvm进程,不需要用户再使用jps去查询。可监控本地虚拟机进程,也可远程连接服务器,监控远程虚拟机进程。 2、JConsol原创 2017-08-30 11:43:46 · 1195 阅读 · 0 评论 -
JDK1.8新增的Stream的使用及原理
可以说函数式编程,Lambda 和 Stream 是JDK1.8新增的最有亮点的特性了。在学习Apache Flink 的时候,经常遇到算子运算,其实这就是一种最常用的Stream流编程运算,今天就来研究一下Java 的JDK1.8提供的Stream流式编程,以便对后续学习Flink和Spark还有Strom这些流式和批式处理框架有所帮助。 新的java.util.stream包...原创 2019-06-10 17:31:34 · 17281 阅读 · 1 评论 -
Java网络编程
网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习。 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的。首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话转载 2016-07-25 09:20:33 · 515 阅读 · 0 评论 -
Java虚拟机详解----常用JVM配置参数
原文地址:http://www.cnblogs.com/smyhvae/p/4736162.html 【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4736162.html 本文主要内容: Trace跟踪转载 2016-07-11 22:10:25 · 1341 阅读 · 0 评论 -
java.util.concurrent学习—Executor框架
java.util.concurrent包分成了三个部分,分别是: java.util.concurrent、 java.util.concurrent.atomic java.util.concurrent.lock转载 2016-06-11 22:21:59 · 398 阅读 · 0 评论 -
Java反射技术
反射就是把Java类中的各种成分映射成相应的java类. Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。 1.检测类: 1.1 reflection的工作机制 考虑下面这个简单的例子,让我们看看 reflection 是如何工作的。 import java.lang.r转载 2015-09-02 16:19:41 · 453 阅读 · 0 评论 -
java中的任务调度
几种任务调度的 Java 实现方法与比较 综观目前的 Web 应用,多数应用都具备任务调度的功能。本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler,Quartz 以及 JCron Tab,并对其优缺点进行比较,目的在于给需要开发任务调度的程序员提供有价值的参考。 前言 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入转载 2015-09-08 21:20:37 · 591 阅读 · 0 评论 -
Java集合框架
原文地址为:http://blog.youkuaiyun.com/linxia125/article/details/48206663 一.集合 1.特点: (1):对象用于封装数据,集合用于存储对象。 (2):对象的个数确定可以使用数组,对象的个数不确定可以用集合。因为集合是可变长度的。 2. 集合和数组的区别: (1):数组是固定长度的;集合可变长度的。 (2):数组可以存储基本数据类型转载 2015-09-06 09:27:52 · 408 阅读 · 0 评论 -
java 动态代理
常用的两种代理机制是:一种是基于JDK的动态代理;另一种是基于CGlib的动态代理 1.JDK 动态代理: JDK1.3之后,java提供了动态代理技术,允许开发者在运行期创建接口的代理实例。 JDK的动态代理主要涉及到java.lang.reflect包的两个类Proxy和InvocationHandler,其中InvocationHandler是一个接口,可以通过实原创 2015-09-05 17:12:13 · 311 阅读 · 0 评论 -
SOAP协议详解
本文来自:http://blog.youkuaiyun.com/wooshn/article/details/8145763 1. SOAP简介 1.1应用背景 对于应用程序开发来说,使程序之间进行因特网通信是很重要的。目前的应用程序通过使用远程过程调用(RPC)在诸如 DCOM 与 CORBA 等对象之间进行通信,但是 HTTP 不是为此设计的。RPC 会产生兼容性以及安全问题;防火墙和代转载 2015-10-19 17:06:22 · 663 阅读 · 0 评论 -
几种常用的JVM监控工具
jdk中已提供了功能强大基于GUI界面的jvm监控工具,在jdk bin目录下可以看到, 例如:jconsole、jvisualvm和oracle jrockit jvm’s jrmc.exe 简介如下: GUI工具 支持类型 GUI本地运行版本(JRE) 被测JVM版本 jconsole原创 2015-12-16 14:34:38 · 5289 阅读 · 0 评论 -
详解Java解析XML的四种方法—DOM/SAX/jdom/dom4j
最近在研究XML文件的生成和解析,网上资料很多,当然也参差不齐。写的没错误的通常是单独介绍了1种方法,介绍全的常常运行不起来。 小哆把4种方法汇总了一下,运行验证成功。 xml解析jar包免费下载:http://download.youkuaiyun.com/detail/sdsky1987/4083634 XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫DOM,转载 2015-12-16 16:46:06 · 506 阅读 · 0 评论 -
SOAP1.1和1.2 深入解析WSDL
主要分析1.1与1.2的区别点,注意1.1的客户端方式可以兼容1.2的服务端。 WebService只采用HTTP POST方式传输数据,不使用GET方式; 普通http post的contentType为 application/x-www-form-urlencoded WebService的contentType为-即在Http的基础上发SOAP协议 text/xm转载 2016-01-05 14:34:05 · 1124 阅读 · 0 评论 -
eclipse如何debug调试jdk源码
java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码。虽然官方的jdk自带了源码包src.zip,然而在debug时查看变量却十分麻烦。例如调试HashMap的 public V put(K key, V value) 方法并查看key的值时会提示: 可以看到不能显示变量的值了,原因在于oracle提供的jre中rt.jar不带de转载 2016-01-22 16:36:26 · 6071 阅读 · 6 评论 -
jdk中定义的SOAP的架构
原创 2016-01-14 15:45:30 · 494 阅读 · 0 评论 -
java 数据类型
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限制了变量可以hold哪些值,表达式最终产生什么值。同时限制了这些值可以进行的操作类型以及操作的具体方转载 2016-03-25 13:42:02 · 758 阅读 · 0 评论 -
数据库连接池
一、应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图: 二、使用数据库连接池优化程序性能 2.1、数据库连接池的基本概念 数据库连接是一种转载 2016-05-31 16:04:07 · 516 阅读 · 0 评论 -
Spring定时任务的几种实现
近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合 spring框架来介绍。 一.分类 · 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): 1. Java自带的java.util.Timer类,这个类允许你调度一个java.util.T转载 2015-09-08 21:25:07 · 351 阅读 · 0 评论