- 博客(15)
- 收藏
- 关注
原创 Java对象的创建过程
说一下Java对象的创建过程1 Step1:类加载检查虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个类的符号引号代表的类是否被类加载器加载过、解析和初始化过。如果没有,必须先执行对应的类加载过程。2 Step2:分配内存在类加载检查通过后,接下来虚拟机将为新生代对象分配内存。对象所需的内存大小在类加载时便可确定,为对象分配空间的任务等同于把一块确定大小的内存从java堆中划分出来。分配方式有“指针碰撞”和“空闲列表”两种,选择两种分
2021-03-03 21:18:24 585 2
原创 java内存区域二
1. 本地方法栈和虚拟机栈所发挥的作用非常相似,区别是:虚拟机栈为Java方法(字节码)服务,而本地方法栈则为虚拟机使用到的native方法服务,在HotSpot虚拟机中和Java虚拟机栈合二为一。本地方法被执行的时候,在本地方法栈也会创建一个栈帧,用于存放该本地方法的局部变量表、操作数栈、动态链接、方法出口信息。方法执行完毕后相应的栈帧也会出栈并释放内存空间,也会出现StackOverFlowError和OutOfMemoryError两种错误。2. 堆Java虚拟机所管理的内存中最大的一
2021-03-02 09:13:50 175
原创 程序计数器和Java虚拟机栈(java内存区域一)
1. 程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码执行,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间计数器互不影响,独立存储,称这类内存区域为“线程私有”的内存。程序计数器主要的两个作用字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制。 如:顺序执行、
2021-03-01 08:18:01 294 2
原创 用户和角色和资源的绑定问题
1 用户和角色和资源的绑定问题1.1 用户绑定角色1. 1. 1 页面点击绑定角色按钮,弹出角色列表//弹出绑定资源的窗口 $("#bindResBtn").click(function(){ //判断只能选择一个 var rows = $("#list").datagrid("getSelectio...
2018-09-13 16:57:12 1256
原创 缓存穿透和缓存失效的预防和解决
缓存穿透和缓存失效的预防和解决缓存穿透:认识缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。解决办法:对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃。还有最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中...
2018-09-13 16:52:24 227
原创 雪崩效应
雪崩效应1 服务雪崩的原因a. 某几个机器故障:例如机器的硬驱动引起的错误,或者一些特定的机器上出现一些的bug(如,内存中断或者死锁)。b. 服务器负载发生变化:某些时候服务会因为用户行为造成请求无法及时处理从而导致雪崩,例如阿里的双十一活动,若没有提前增加机器预估流量则会造服务器压力会骤然增大二挂掉。c. 人为因素:比如代码中的路径在某个时候出现...
2018-09-13 16:49:05 1442
原创 dubbo连接所使用的协议
dubbo连接所使用的协议dubbo://协议使用场景:Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。特性:缺省协议,使用基于 minai a `1.1.7` 和 hessian ...
2018-09-13 16:45:24 355
原创 dubbo连接方式
dubbo连接方式采用zookeeper作为注册中心使用场景:在线上部署阶段使用, 对于某些并发访问压力大的服务器节点可以部署集群, 这时dubbo的服务提供方服务器集群可以使用zookeeper来管理.配置:服务提供方配置:<!-- 声明应用名称 --><dubbo:application name="pinyougou-selle...
2018-09-13 16:41:44 894
原创 类加载器
1. 类加载器1. 1. 类加载的时机1 创建类的对象时,如果类还没有加载就会加载该类的class方法进内存.2 调用类的静态方法时,如果类没有加载就会加载该类的class文件进内存.3 调用类的静态成员变量(静态常量除外)时,如果类没有加载就会加载该类的class文件进内存.4 指定类全名通过Class调用forName方法会强制加载该类的Class文件进内存.1....
2018-09-11 19:49:39 305
原创 单点登录
单点登录单点登录可以解决不同的子系统在跨域时登录的问题登录系统是利用SSO技术实现的,SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统:不需要重复、多次、多个系统的登录。它包括可以将这次主要的登录映射到其他应用中用于登录同一个用户的登录的机制。我使用SSO技术的接口文档,即校验接口、注册、登录接口、根据token查询用户接口、安全退出。这个调用服务是利用了js...
2018-09-09 19:57:23 222
原创 分布式接口的幂等设计
分布式接口的幂等设计什么是接口的幂等性解释什么是接口的幂等性,接口的幂等性实际上就是接口可重复调用,在调用方多次调用的情况下,接口最终得到的结果是一致的。有些接口可以天然的实现幂等性,比如查询接口,对于查询来说,你查询一次和两次,对于系统来说,没有任何影响,查出的结果也是一样。除了查询功能具有天然的幂等性之外,增加、更新、删除都要保证幂等性。那么如何来保证幂等性呢?...
2018-09-04 22:11:23 481
原创 mysql引擎介绍
mysql引擎入门MyISAM存储引擎MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外还有.MYD和.MYI文件,分别存放了表的数据(.MYD)和索引数据(.MYI)。每个表都有且仅有这样三个文件做为MyISAM存储类型的表的存储,也就是说不管这个表有多少个索引,都是存放在同一个....
2018-09-04 22:04:59 173
原创 Oracle数据库基础(表空间,用户创建和数据类型)
Oracle数据库基础创建表空间实例(ORCL)–>创建表空间–用户创建表空间代表项目开始表空间-存储数据逻辑单位–用户管理表空间,用户向表空间中添加记录真正存在数据文件(*.dbf)注:创建表空间要管理员权限(system用户)/**语法:create tablespace 名称 ---指定表空间名称 * datafile '文件路径' -- 数据文件...
2018-07-09 21:05:31 190
原创 Oracle数据库之多表查询
1 多表查询1. 1 什么是笛卡尔积现象1 . 1. 1 范例:查询员工表和部门表 select *from emp; select *from dept; select *from emp,dept;当员工表单独查询时是14条数据,部门表单独查询时是4条数据,联合查询时有56条数据,刚好是员工表数据记录数和部门表数据记录数的乘积,这种现象称其为笛卡尔积现...
2018-07-07 20:52:33 472
原创 UDP协议发送信息和接收信息
1 UDP协议UDP ==>User Datagram Protocol :用户数据包协议1.1 UDP特点面向无连接的协议发送端只管发送,不管接收端是否存在,同样接收端收到数据时,也不会向发送端反馈是否收到数据.发送数据大小限制在64KB以内.基于数据包传输数据:要将发送的内容,源和目的地封装到一个数据包,将数据包发送出去.因为是面向无连接,速度快但不可靠.1.2 应用场景即时通讯(QQ,...
2018-07-07 11:47:43 1587
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人