- 博客(11)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注
原创 深入理解Java虚拟机学习笔记3-线程安全和锁优化
并发处理是压榨计算机运算能力最有力的工具。1.线程安全当多个线程访问一个对象时,如果不用考虑这些线程运行时环境下调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获取正确的结果,那么这个对象是线程安全的。2.Java语言中的线程安全先决条件:多个线程之间存在共享数据访问这个前提。按照线程安全"安全程度"由强至弱来排序,可以将ja...
2018-10-23 10:46:44 178
原创 深入理解Java虚拟机学习笔记2-JVM中对象布局
一、对象的内存布局在Hotspot中,对象在内存中存储布局可以分为三块: 对象头(Header) 、实例数据(Instance Data)、对齐填充(Padding)二、对象头1、对象运行时数据: 哈希吗、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳;官方成为MarkWord,一种非固定数据结构,根据对象状态标志位复用存储空间存储对象数据的结构。2、类型指针:指...
2018-10-20 17:37:05 160
原创 深入理解Java虚拟机学习笔记1-JVM运行时内存分布
一、为什么需要了解虚拟机的内存分布? Java程序员和C++、C程序员在内存管理领域是不一样的,对java程序员来说,java程序员不需要关注内存管理,就能编写代码,运行程序,内存完全托管给虚拟机,但是一旦出现内存泄露和溢出问题,如果不了解虚拟机内存分布,怎么使用内存,将无法快速准确的定位问题发生区域,并且了解jvm内存管理,也能写出更合理利用资源的代码。二、虚拟机运行时内存...
2018-10-19 16:53:01 159
原创 Mysql从入门到精通学习笔记1-mysql性能优化
一、性能优化目标 通过合理安排资源,调整系统参数使Mysql运行更快、更节省资源,增加系统反应速度;优化访问包含查询速度优化、数据库结构优化、Mysql服务器优化等;二、查询速度优化查询优化分两步,第一步分析查询语句执行情况,分析语句执行瓶颈,第二步查询语句尽可能使用索引,避免全表查询2.1分析查询语句方式 EXPLAIN SELECT select_op...
2018-10-15 19:57:25 295
原创 大型网站技术架构核心原理与案例分析(李智慧)学习笔记2--大型网站架构五大核心要素
一、系统架构涉及需要关注和平衡的五大核心要素1.性能 衡量标准:响应时间、TPS、QPS、系统性能计数器等等2.可用性 衡量标准:网站7*24小时,有几个9的可用性3.伸缩性 衡量标准:网站是否可以随意通过增加机器增大系统负载能力4.扩展性 衡量标准:网站随意新增业务,是否可以最小化影响现...
2018-10-12 16:19:47 211
原创 大型网站技术架构核心原理与案例分析(李智慧)学习笔记1--大型网站架构模式
一、网站架构模式 在工作中,经常会遇到类似场景下不断重复发生的问题,对于此类问题解决方案,我们经过抽象提取出来解决该类核心方案,即架构模式;1.分层 面临问题:系统耦合、不能更细粒度独立部署扩展为分布式集群提高并发和功能扩展、不能更有效的拆分工作开发维护、不利于公共服务及资源复用 优点:系统切分之后便于分工开发维护、方便独立部署后期可以扩展分布式、软件逻辑结构清晰实践...
2018-10-10 18:06:11 244
原创 SpringBoot +shiro+mybatis plus+spring +redis
本项目是邹海清同学demo的补充 ,邹同学博客- http://z77z.oschina.io 1.本项目库表设计:1. 用户表 用户角色关系表 角色表 角色权限关系表 权限表 这一套表,用以辅助shiro,实现不同用户,对不同模块访问权限的控制2.用户表 用户用户组关系表 用户组表 用户组角色关系表 用户表这一套表,用以辅助自定义注解,实
2017-04-06 17:49:00 4834
原创 Hibernate cache内部结构
1.hibernate 一级缓存 session级别缓存,连接独享,内部结构就是,简单的键值对 key:全限定名 value:数据2.hibernate二级缓存sessionFactory级别缓存二级缓存是应用cache,为了多个会话共享,快速定位数据,有region的概念分区准则,是先按照实体类全限定名进行分区;再然后按照 key value分布,key自然
2016-11-27 19:35:39 228
原创 Spring框架的两个重要概念IOC 和 AOP
背景:Spring框架,是项目管理框架,它主要是为javaEE开发提供更好的解决方案;定义:Spring ,是IOC容器.Spring两大重量级概念:控制反转 IOC Inverse Of Control 和 面向切面编程 AOP Aspect Oriented Programming1.控制反转 定义:控制反转,反转属性的赋值权,将属性的赋值,从原来代码中直
2016-11-14 23:14:48 1670
原创 Hibernate缓存
1.缓存的作用,适用场景 缓存的作用:提高查询效率,提升系统性能,从内存中获取数据,正常情况下比从数据库中获取数据要快的多;从数据库中获取,查询速度、网络带宽、IO读写速度都有可能成为性能瓶颈; 缓存应用场景:缓存的数据应该是被频繁使用、极少被改动、一般是以{key:value}的形式存储 2.hibernate缓存 2.1一级缓存 特点:
2016-10-26 00:46:10 276
原创 andriod编程中如何获取一段语音的时长?
在android有关语音的应用中,我们可能需要录音的长度,这个长度很好获取,只要在刚刚开始录音的时候获取本地时间,录音结束的时候获取本地时间,之后一减就可以得到他的时间长度。代码:first = (int)(System.currentTimeMillis()/1000);//当点击录音的时候获取本地时间,除以1000得到时间单位是秒,否则是毫秒。second = (int)(System
2015-03-14 18:33:26 1034 1
android蓝牙语音聊天
2015-03-14
Shiro注解,因为service继承另外一个类失效
2017-04-07
分布式系统,统计系统实时在线人数?
2016-10-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人