- 浏览: 339334 次
- 性别:
- 来自: 开封
最新评论
-
angeltping:
angeltping 写道SimpleDateFormat这个 ...
以秒为单位生成唯一的时间序列号 -
angeltping:
SimpleDateFormat这个是线程不安全的同学!
以秒为单位生成唯一的时间序列号 -
masuweng:
java通过org.w3c.dom解析xml文件 -
hanmiao:
完全不知所云......
shell 脚本断点执行 -
birdofpeace:
public class Person {
...
Bean Validation技术实现对Javabean的校验
文章列表
Spring Cloud:
发音:
Eureka [jʊ'ri:kə]Ribbon [ˈrɪbən]Feign [fen]Hystrix [hɪst'rɪks]Zuul [zulu]Sleuth [sluθ]Turbine [ˈtɜ:rbaɪn]
独挑大梁,独自启动不需要依赖其它组件。Eureka,服务注册中心,特性有失效剔除、服务保护。(类似生活中 ...
Spring的组件代码是轻量级的,但它的配置却是重量级的。写配置挤占了写应用程序逻辑的时间 Spring Boot精要:- 自动配置:针对很多Spring应用程序常见的应用功能, Spring Boot能自自动提供相关配置。利用了Spring 4的条件化配置特性,以及Maven和Gradle提供的传递依赖解析,以此实现Spring应用程序上下文里的自动配置- 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。- 命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成无需传统项目构建。- Actuator:让你能够深入运行中的Spring Boot应用程序 ...
基金:以公开(公募基金)、非公开(私募基金)的方式去筹募一定基金,通过投资股票、债券、期货、指数、外汇等来获取收益。
基金交易方式:
场内交易:通过交易所,以竞价的方式去交易,交易所负责进行清算和承担履约担保责任。如ETF场内基金
场外交易:不会通过交易所,而是通过基金公司、银行、券商、第三方销售机构(天天基金等)购买的方式来进行申购(买)、赎回(卖)等操作来交易
按照交易期限分类:
开放式基金:一般情况在设立基金之后,基金的总份额不再改变,投资者可以随时可以申购、赎回基金,没有严格的时间期限限制。
封闭式基金:在设立基金之后, 一段时间内禁止申购、赎回,到期之 ...
内存泄漏诊断步骤:
1.查看各个代的内存使用情况(一般情况都是堆内存溢出) jmap -heap pid
2.查看jvm中对象的实例个数(找出占用内存较大的异常对象,根据程序可以初步判断是否应该存在比较大量的实例对象) jmap -histo pid ...
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ato ...
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.AbstractQueuedSynchronizer;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
/**
* 通过AQS实现的互斥锁
* <br/>
* AQS: 用来构建锁或者其他同步组件的框架。它使用了一个int变量表示同步状态(更改状态使用CAS方式),通过内置的FIFO队列来 ...
java安全沙箱机制介绍
组成Java沙箱的基本组件如下:·类加载体系结构·class文件检验器·内置于Java虚拟机(及语言)的安全特性·安全管理器及Java APIJava安全模型的前三个部分——类加载体系结构、class文件检验器、Java虚拟机(及语言)的安全特性一起达到一个共同的目的:保持Java虚拟 机的实例和它正在运行的应用程序的内部完整性,使得它们不被下载的恶意代码或有漏洞的代码侵犯。相反,这个安全模型的第四个组成部分是安全管理器,它主要 用于保护虚拟机的外部资源不被虚拟机内运行的恶意或有漏洞的代码侵犯。这个安全管理器是一个单独的对象,在运行的Java虚拟机中,它 ...
内存泄露本质:长生命周期的对象持有了短生命周期的对象的引用。
减少内存泄露风险方式:
1.单例模式。 单例模式一般都是全局静态持有,所以需要注意,尽量不要在单例中持有大对象。
2.遇到大对象的时候,用完及时设为null。
3.对象尽可能的减小其生命周期。
4.I/O流用完一定要关闭。如文件流、socket流、数据库连接等
5.引用类型的数组中某个元素不再需要的时候,一定要设为null
下面为可能会出现内存泄露的代码:
1.使用HashSet集合的情况。由于set是不重复的,更新操作会先通过hashcode来查找,然后通过equels来判断是否相等 ...
引用分为四个,从高到低的级别以此为强引用-软引用-弱引用-虚引用.
引用类型
类别
回收机制
用途
生存时间
强引用
从不回收
对象状态
JVM停止运行时
软引用
内存不足时进行回收
缓存
内存不足
弱引用
对象不被引用时回收
缓存
GC运行后
虚引用
对象被回收时
管理控制精确内存稳定性
unknown
可以利用软引用、和弱引用的生存时间特点,做一些缓存数据。当内存不足、或者是GC的时候才会被回收掉。
参考:
https://www.cnblogs.com/yw-ah/p/5830458.html
...
转自:https://www.cnblogs.com/nexiyi/p/java_memory_model_and_thread.html
1. 概述
多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。
2.硬件的效率与一致性
由于计算机的存储设备与处理器的运算能力之间有几个数量级的差距, ...
基于SVN进行代码开发流程
- 博客分类:
- svn
1 SVN标准目录
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是:
这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
trunk:主干,如果说把一个软件项目从开始到消亡比作一个故事的话,主线情节都在这里被SVN记录着。
branches:分支,有很多种用法,比如:版本发布维护分支、新特性开发分支,甚至是缺陷修复 ...
浅拷贝:对象中的基本类型进行值拷贝,引用类型对引用地址进行拷贝。
深拷贝:对象中的基本类型和引用类型对应的值都进行拷贝。
注意:不管是深拷贝还是浅拷贝,拷贝之后,两个对象的hashcode 不同,而且equels() 返回也是false。
java 实现浅拷贝: 必须实现Cloneable 接口,并且重写Object 的clone()
public class ShallowCopy implements Cloneable {
private String name;
private int age;
public voi ...
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到了子类中去,模板方法使得子类可以在不改变算法结构的基础上,重新定义算法中的某些步骤。
设计原则:好莱坞原则(别调用我们,我们会调用你)。顶层模块会主动调用底层模块,不要用底层模块去调用顶层模块。
基本结构:
public abstract class AbstractClass {
/**
* 模板方法: 声明为final ,不允许子类对其结构进行破坏
*/
public final void templateMethod() {
oper ...