关闭

JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

转自:https://my.oschina.net/feichexia/blog/196575 即使有oom什么的,都能通过查看代码发现,一直没遇到需要使用这些命令的情况,真不知道是幸运还是不幸。 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contentio...
阅读(147) 评论(0)

微服务(Microservice)那点事

转自云栖肥侠的文章,https://yq.aliyun.com/articles/2764 WHAT - 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火。最喜欢其中一页。关于这个典故,可以参考t...
阅读(199) 评论(0)

死锁产生和解决

面试题,之前没在意,这里学习了解下。死锁的产生产生死锁的原因 因为系统资源不足,并发的请求就会有竞争,产生锁; 进程运行推进的顺序和速度不合适,例如事务性的流程,会多步骤执行,如推进顺序错乱,会产生死锁; 资源分配不当等,同1。 产生死锁的四个必要条件 互斥条件:一个资源每次只能被一个进程使用。 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:进程已获得的资源,在末...
阅读(101) 评论(0)

轻量级分布式 RPC 框架

转自:https://my.oschina.net/huangyong/blog/361751 RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TC...
阅读(125) 评论(0)

你应该知道的RPC原理

-- 学习rpc,找到一篇rpc的入门,感觉是讲的非常好,唯一遗憾就是没服务治理这一块内容,转载学习下! 在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。   而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责...
阅读(151) 评论(0)

Spring源码解析-杂记

Autowire PostConstruct和PreDestroy 参考随时记录spring一些零碎的东西,随时更新!Autowire开启注入支持,配置:AutowiredAnnotationBeanPos...
阅读(328) 评论(0)

Spring源码解析-aop

demo aop自定义标签分析 AnnotationAwareAspectJAutoProxyCreator getAdvicesAndAdvisorsForBean获取适合的advise findCandidateAdvisors获取所有的advisor buildAspectJAdvisors获取注解Aspect的advisor getAdvisors findAdvisorsThatCanAp...
阅读(231) 评论(0)

Spring源码解析-applicationContext

Demo uml类图 ApplicationContext ApplicationListener 源码解析 主流程 obtainFreshBeanFactory prepareBeanFactory invokeBeanFactoryPostProcessors registerBeanPostProcessors registerListeners finishRefresh 总结在已经有Bea...
阅读(1199) 评论(0)

Spring源码解析-自定义标签解析

Demo 创建接收配置的POJO 元素的XSD文件 Handler处理 BeanDefinitionParser springhandlers和springschemals Test 源码解析 getNamespaceHandlerResolver-resolve NamespaceHandler-parse 总结上一篇beanfactory里面在解析xml文件的时候,默认namespace是bea...
阅读(365) 评论(0)

Spring源码解析-beanfactory

Demo uml类图 XmlBeanFactory继承关系 XmlBeanDefinitionReader BeanDefinition xml解析beanDefinition 资源文件抽象 loadBeanDefinition xml文件校验和解析 registerBeanDefinitions parseBeanDefinitions processBeanDefinition delegate...
阅读(366) 评论(0)

读-Martin Fowler-重构

代码的坏味道 构筑测试体系 重新组织函数 在对象之间搬移特性 重新组织数据 简化条件表达式 简化函数调用 处理继承关系 总结重构领域的经典之作,开发必看,推荐之!第一章讲了一个案例引入重构,第二章讲了重构的一些原则,如何为重构,何时重构等,理论性的东西,过,从第三章开始。代码的坏味道何时需要重构,作者用了代码的坏味道来描述,坏味道体现在: Duplicated Code; Long Method;...
阅读(308) 评论(0)

读-Rober C.Martin-代码整洁之道

命名 函数 注释 格式 错误处理 启发 总结最近的做的项目老是维护以前的代码,感觉有些写的不合理,所以一直看书学习。这本书看完感慨万分,不愧是搞方法论,随便一个主题,都能写好几页纸,nb。有些感觉对自己有益的,记录下。命名 名副其实最好不需要注释来解释具体含义; 避免误导如看到XXXList,一般性反应就是这事一个list类型,你就不能在不需要的地方使用这种方式; 有意义的区分一个变量当然可以取个a...
阅读(257) 评论(0)

读-秦小波-编写高质量代码:改善java程序的151个建议

有些建议不太用到,但是用到的时候如果不注意就会进坑,所以书名改成java的151个坑更合适。 不要在常量和变量中出现易混淆的字母包名全小写,类名首字母全大写,常量全大写下划线分割,变量驼峰; 字母l作为长整形标志大写L; 莫让常量蜕变成变量常量final staic,一般不会,主要是值常量的值不要通过计算获取值,值应该在编译期确认,不要在运行期更改; 三元操作符的类型务必一致 – 不一致会做转换,...
阅读(371) 评论(2)

Spring Batch 构建批处理应用2

转自:http://www.ibm.com/developerworks/cn/java/j-lo-springbatch2/ 使用spring batch批处理,感觉可以入门。之前工作中自己用的是线程池生产-消费模式做的批处理,下次有机会可以尝试batch试试。 前言 在本系列文章的第 1 部分,我们搭建了一个用户缴费通知的批处理任务。尽管这个简单的应用展现了 Spring ...
阅读(378) 评论(0)

JVM调优总结 -Xms -Xmx -Xmn -Xss

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java -Xmx3550m -Xms355...
阅读(200) 评论(0)

读-李智慧-大型网站技术架构:核心原理与案例分析

网站构架演进 大型网站的特点 架构演化历程 价值观 架构模式 分层 分割 分布式 集群 缓存 异步 冗余 自动化 安全 性能 性能测试 web前端性能优化 应用服务器性能优化 存储性能优化 可用性 可用性度量和考核 高可用的应用 高可用的服务 高可用的数据 高可用的软件质量保证 网站运行监控 伸缩性 网站架构的伸缩性设计 应用服务集群的伸缩性设计 分布式缓存集群的伸缩性设计 数据存储服务器集群的伸缩...
阅读(1836) 评论(0)

读-Martin Fowler-企业应用架构模式

分层 组织领域逻辑 映射到关系数据库 表现层 并发会话状态分布式 并发 会话状态 分布策略 领域逻辑模式 事务脚本 领域模型 表模块模型 服务层 数据源架构模式 表数据入口 行数据入口 活动记录 数据映射器 ormapping 基本模式 入口 映射器 层超类型 分离接口 注册表 值对象货币 特殊情况 插件 服务桩 记录集 现在 大师级人物Martin Fowler的书,04年出版,现在看来有点老...
阅读(853) 评论(0)

转载-数据库的四种事务隔离级别

SET TRANSACTION ISOLATION LEVEL 一、未提交读READ UNCOMMITTED(脏读) 意义:包含未提交数据的读。例如,在多用户环境下,用户B更改了某行。用户A在用户B提交更改之前读取已更改的行。如果此时用户B再回滚更改,则用户A便读取了逻辑上从未存在过的行。 演示: 1)用户B: BEGIN TRAN UPDATE test SE...
阅读(109) 评论(0)

转载-cpu伪共享问题

CPU内部也会有自己的缓存,内部的缓存单位是行,叫做缓存行。在多核环境下会出现CPU之间的内存同步问题(比如一个核加载了一份缓存,另外一个核也要用到同一份数据),如果每个核每次需要时都往内存中存取,这会带来比较大的性能损耗,这个问题一般是通过MESI协议来解决的。           MESI协议中包含M、E、S、I四个状态,分别的意思是: M(修改, Modified):...
阅读(148) 评论(0)

代码生成rapid-generator源码分析

原理 rapid-generator rapidDemo 假设有mysql数据库和表 修改generatorxml文件发在代码根目录就行生成代码会在classes目录加载配置文件主要是 模板文件 生成代码 rapid生成的代码文件 源码分析 常用类 加载配置文件 获取数据库元数据 构建输出模型和处理输出 总结 一个bug 感谢那位哥们提供了这样的好工具之前有个项目比较紧急,基本上开发和设计同步进行,...
阅读(1819) 评论(6)
134条 共7页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:61005次
    • 积分:1334
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:71篇
    • 译文:1篇
    • 评论:15条
    最新评论