- 博客(11)
- 收藏
- 关注
原创 java线程间通信
但我们需要多线程对某个资源进行顺序执行时候,这个时候就需要一把同步锁。一个锁同一时间只能被一个线程持有。也就是说一个锁如果被一个线程所持有,那其他线程如果需要得到这个锁,就得等这个线程释放该锁。
2023-10-24 17:04:54 48 1
原创 线程池详解
对象在还没没有构造完成时,This引用已经发布出去。这种一般会有两种情况:一、在构造器中启动线程:启动的线程的任务是内部类,在内部中xxx.this访问了外部类的实例,就会发生访问到还未初始化完成的变量解决方法:不要在构造器中启动线程,尝试在外部启动二、在构造器中注册事件,这是因为在构造器中监听事件是有回调函数。(可能访问了操作了的实例变量)解决方法:将事件监听事件放置于构造器外。总结:this逃逸一般多发生在多线程中,引起this逃逸的问题是在多线程滥用引用。
2023-10-24 15:42:28 42 1
原创 jvm垃圾回收策略
在对象中添加一个引用计数器,每当一个地方引用它时,计数器就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的缺陷:循环引用的对象就不会被回收。A引用B,B引用A。所以,Java虚拟机没有采用引用计数法。它采用的是可达性分析算法。可达性分析又被成为“GC Roots”的对象作为起点;从起点向下搜索,所走过的路径称之为引用链,当一个对象到GC Roots没有任何引用链相连接,代表此对象不可达。
2023-10-10 11:18:33 93 1
原创 REDIS的缓存穿透、雪崩、击穿原因及解决方案
但是这样做如果有大量数据都不存在,redis会存储大量空数据,消耗内存(这里可以进一步优化,可以设置一个过期时间),第二个缺点是如果原先的数据不存在,后来数据库中有插入了该条数据,可能存在数据不一致的问题。redis服务宕机:a.利用redis服务集群提高服务的可用性,比如哨兵模式、集群模式b.给业务添加多级缓存,c.给缓存业务添加降级限流策略 d.使用锁或者队列模式,如果查不到就加上排它锁,请他请求只能进行等待。b.监控数据,适时调整,监控哪些数据是热门数据,实时的调整key的过期时长。
2023-09-15 14:38:24 52 1
原创 Spring事务传播机制
结果:a更新成功,b1,b2更新失败.由于testMain()中没有声明事务,,testb有声明事务,且传播机制是REQUIRED,所以在执行testb时会新建一个事务,该事务发生了回滚。NEVER:不使用事务,如果当前存在抛出异常,不仅我这个方法不允许使用事务,并且调用我的方法也不允许存在事务,如果调用我的方法存在事务,抛出异常。结果:a,b2没有更新成功,b1存储成功,因为b没有事务,所以b1存储成功,但是b1抛出了异常,影响了a事务,因此a回滚,没有更新成功。
2023-09-14 14:56:34 24 1
原创 Spring--三种拦截器的实现
4.拦截器可以获取到IOC容器中的各个bean,而过滤器不行,因为拦截器是Spring提供并管理的,Spring的功能可以被拦截器使用,在拦截器里注入一个Service,可以调用业务逻辑,而过滤器是javaEE标准,只依赖servlet 阿皮,不需要依赖spring。Filter的生命周期:Filter对象的创建(实现Filter接口,实例化),Filter对象的初始化(init()),Filter执行doFilter()方法,及最终Filter对象被销毁(destroy())可以在任何情况下使用。
2023-09-14 13:49:07 383 1
原创 Servlet详解
1.什么是Servlet?JavaServlet是运行在WEB服务器上或应用服务器上的程序,它是作为来自WEB浏览器或者其他HTTP请求客户端和请求和HTTP服务器上的数据库或者应用程序的中间层(处理http请求与响应) 2.启动web服务器时Servlet做了什么事情(tomcat为例)tomcat是一个web应用服务器,是一个Servlet/Jsp容器,tomcat作为Serv...
2019-02-12 16:28:13 169
原创 微信小程序开发一入门开发标记语言基础组件
参考资料:https://mp.weixin.qq.com/debug/wxadoc/dev/component/icon.html小程序继承了html的一部分,目前遇到的不可用的html标签有标签标签的href属性不可用,之后会总结下所以定义了一套自己的标签以下是在html标签上进行延伸学习之前如果你会angular,标签语言学习起来比较容易,如果不会,建议先学下数据绑定,小
2017-10-24 11:48:18 1345
原创 微信小程序入门开发
参考教程:https://mp.weixin.qq.com/debug/wxadoc/dev/1.首先需要小程序的appid和appsecret,https://mp.weixin.qq.com 2.下载小程序开发工具 小程序开发有自己的开发工具,wechat_develop:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/do
2017-10-23 16:30:58 197
原创 微信开发之网页授权获取用户信息
注意:开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名:回调域名中的http://不需要添加。详细参考微信开发文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp14211408421.用户同意授权,获取code:方法封装在util类中pojo:Cod
2017-07-13 16:07:15 311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人