
java
文章平均质量分 71
风尘雨路
老账号的新人
展开
-
运行jar程序时添加vm参数
设置vm堆大小以及,配置远程监控参数设置远程端口为8999,不需要用户名密码验证,初始化堆内存为64M、最大堆内存为128M、新生代为20M,Survivor区与Eden区内存为2:8java -Djava.rmi.server.hostname=主机ip -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxre转载 2017-02-28 12:52:54 · 5183 阅读 · 0 评论 -
JNI内存管理
一、Java内存 Java程序所涉及的内存可以从逻辑上划分为两部分:Heap Memory和Native Memory。1)Heap Memory: 供Java应用程序使用的,所有java对象的内存都是从这里分配的,它不是物理上连续的,但是逻辑上是连续的。可通过java命令行参数“-Xms, -Xmx”大设置Heap初始值和最大值。java -Xmx1024m -Xms1024m//-Xmx1...转载 2018-04-13 09:13:25 · 3904 阅读 · 0 评论 -
Java内存溢出(OOM)异常完全指南
这也许是目前最为完整的Java OOM异常的解决指南。1、java.lang.OutOfMemoryError:Java heap spaceJava应用程序在启动时会指定所需要的内存大小,它被分割成两个不同的区域:Heap space(堆空间)和Permgen(永久代):JVM内存模型示意图这两个区域的大小可以在JVM(Java虚拟机)启动时通过参数-Xmx和-X转载 2017-10-16 11:36:37 · 804 阅读 · 0 评论 -
Swagger简介
前言Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。本文简单介绍了在项目中集成swagger的方法和一些常见问题。如果想深入分析项目源码,了解更多内容,见参考资料。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧转载 2017-08-23 21:01:22 · 381 阅读 · 0 评论 -
Redis上踩过的一些坑-美团
上上周和同事(龙哥)参加了360组织的互联网技术训练营第三期,美团网的DBA负责人侯军伟给大家介绍了美团网在redis上踩得一些坑,讲的都是干货和坑。 分为5个部分: 一、周期性出现connect timeout 二、redis bgrewriteaof问题 三、redis内存占用飙升 四、redis内存使用优化 五、redi转载 2017-07-20 20:40:24 · 1935 阅读 · 0 评论 -
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图
Maven 组件界面介绍如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有:第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项目。一般单我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入。第转载 2017-06-27 20:22:12 · 10793 阅读 · 1 评论 -
Zookeeper 实现 master 选举
使用场景 有一个向外提供的服务,服务必须7*24小时提供服务,不能有单点故障。所以采用集群的方式,采用master、slave的结构。一台主机多台备机。主机向外提供服务,备机负责监听主机的状态,一旦主机宕机,备机要迅速接代主机继续向外提供服务。从备机选择一台作为主机,就是master选举。原理解析 右边三台主机会尝试创建master转载 2017-04-26 22:36:37 · 460 阅读 · 0 评论 -
Maven依赖Scope标签用法
在一个maven项目中,如果存在编译需要而发布不需要的jar包,可以用scope标签,值设为provided。如下: javax.servlet.jsp jsp-api 2.1 provided scope的其他参转载 2017-04-20 23:09:48 · 298 阅读 · 0 评论 -
Java CAS 和ABA问题
独占锁:是一种悲观锁,synchronized就是一种独占锁,会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。乐观锁:每次不加锁,假设没有冲突去完成某项操作,如果因为冲突失败就重试,直到成功为止。一、CAS 操作乐观锁用到的机制就是CAS,Compare and Swap。CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V转载 2017-04-28 23:08:19 · 291 阅读 · 0 评论 -
分布式锁1 Java常用技术方案
正文: 第一步,自身的业务场景: 在我日常做的项目中,目前涉及了以下这些业务场景: 场景一: 比如分配任务场景。在这个场景中,由于是公司的业务后台系统,主要是用于审核人员的审核工作,并发量并不是很高,而且任务的分配规则设计成了通过审核人员每次主动的请求拉取,然后服务端从任务池中随机的选取任务进行分配。这个场景看到这里你会觉得比较单一,但是实际的转载 2017-04-28 22:32:38 · 314 阅读 · 0 评论 -
JVM源码分析之javaagent原理完全解读
概述本文重点讲述javaagent的具体实现,因为它面向的是我们Java程序员,而且agent都是用Java编写的,不需要太多的C/C++编程基础,不过这篇文章里也会讲到JVMTIAgent(C实现的),因为javaagent的运行还是依赖于一个特殊的JVMTIAgent。对于javaagent,或许大家都听过,甚至使用过,常见的用法大致如下:java -javaagent:m转载 2017-03-16 12:36:11 · 460 阅读 · 0 评论 -
Netty系列之Netty百万级推送服务设计要点
1. 背景1.1. 话题来源最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:Netty是否可以做推送服务器?如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端?使用Netty开发推送服务遇到的各种技术问题。由于咨询者众多,转载 2017-03-18 23:24:49 · 603 阅读 · 0 评论 -
解决 java 使用ssl过程中出现"PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExcep
今天公司邮箱服务器,更改必须TLS安全认证,原来java mail 邮件发送出现异常:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExcep该异常是客户端对服务器的证书认证的时候出错了,解决方案把服务器证书加到信任证书库里面把该证书导入java中的cacerts证书库里原创 2017-03-17 15:26:41 · 55224 阅读 · 8 评论 -
Java中getResourceAsStream的用法
Java中getResourceAsStream的用法首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资转载 2017-02-28 22:14:30 · 266 阅读 · 0 评论 -
java nio:浅谈io模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr转载 2017-02-28 21:55:31 · 413 阅读 · 0 评论 -
启动Java应用的Shell脚本
启动Java应用的Shell脚本 对于Java应用程序(非web应用),在部署后,常常需要一个启动脚本来加载一些第三方的jar包,并启动应用。 对于java应用程序,我一般喜欢将程序的目录结构写成如下的方式: myapp |----lib |----bin |----packages转载 2017-02-28 21:52:41 · 647 阅读 · 0 评论 -
BlockingQueue详解
本文转载自:http://wsmajunfeng.iteye.com/blog/1629354前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以转载 2017-02-28 12:55:24 · 460 阅读 · 0 评论 -
java位运算总结
首先要明白一个概念,Java位运算是针对于整型数据类型的二进制进行的移位操作。主要包括位与、位或、位非,有符号左移、有符号右移,无符号右移等等。需要注意一点的是,不存在无符号左移 数据类型 所占位数 byte 8 boolean转载 2017-02-28 12:54:21 · 412 阅读 · 0 评论 -
drools规则引擎了解
什么是规则引擎 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。优点:l声明式编程l逻辑和数据分离l速度和可扩展性知识集中化缺点:l复杂性提高l需要学习新的规则脚本语法l引入新组件的风险 规则...原创 2018-07-22 16:29:33 · 8438 阅读 · 1 评论