作者: intotw

97 篇文章

Java与Mysql锁相关知识总结
锁的定义 在计算机程序中锁用于独占资源,获取到锁才可以操作对应的资源。 锁的实现 锁在计算机底层的实现,依赖于CPU提供的CAS指令(compare and swsp),对于一个内存地址,会比较原值以及尝试去修改的值,通过值是否修改成功,来表示是否强占到了这个锁。 JVM中的锁 jvm中,有2个常用的锁 synchronized synchroni…
《软件方法》读后感
前言 近日,苦于不知道该怎么提升自己了,在原来老大的建议下,决定去学习一些关于建模和软件设计领域的书籍,来解决解决自己“感觉不对,但是说不清楚为什么不对”以及“感觉这么搞就对了,但是不知道为什么这么去规划,这么去划分就对” 第一本看的是潘加宇老师的《软件方法(上)业务建模和需求》,本篇读后感不再对文里的概念和内容一一赘述,只说说个人提炼到的收获 业…
thumbnail
贝叶斯概率以及贝叶斯公式
贝叶斯概率以及贝叶斯公式 前言 看到归纳推理,然后看到的这个概念,稍微了解了下,比较有意思也比较有意义,所以记录下 写的比较好留着以后继续参考的文章https://www.zhihu.com/column/p/347194251 描述 总而言之,我们定义事件A的概率为P(A),事件B的概率为P(B),B发生的情况下A发生的概率为P(A|B) 那么对…
thumbnail
线上排查:内存异常使用导致full gc频繁
线上排查:内存异常使用导致full gc频繁 问题系统 日常巡检发现,应用线上出现频繁full gc 现象 应用线上出现频繁full gc 排查过程 分析dump 拉dump文件:小插曲:dump时如果指定:live,则在dump前jvm会先进行一次full gc,并且gc log里会打印dump full gc,这种对非内存泄漏导致的线上异常内存…
使用OpenCv+Arduino实现挂机自动打怪
使用OpenCv+Arduino实现挂机自动打怪 最近在玩某网游,练级十分枯燥和缓慢,就是挂机刷刷刷,所以研究一下自动化,找了个可以原地挂机刷怪的职业,然后用OpenCv检测技能冷却,冷却好了通过串口通知Arduino按下模拟键盘按键释放技能 大概流程如下: OpenCv定时扫描屏幕->对技能区域截图->对比预设图判断技能冷却->…
经验总结:内存泄露的原因以及分析
内存泄露是Javaer听到最多的关于内存的事了,这篇文章就来谈谈这件事。 内存泄露与资源泄露 什么是泄露?泄露在计算机语境下,通常指的是某个资源无法被访问,也无法被释放。 内存泄露一般发生在某个对象的引用丢失,无法再访问到该引用,但是该引用却依旧引用着某个对象,导致这个对象无法回收,最终导致内存溢出OOM。 资源泄露一般发生在连接池,IO流等场景,…
thumbnail
改造apollo配置中心客户端支持从Spring读取配置
主要问题 Apollo客户端的配置主要集中在2部分,这就导致割裂了配置,十分不便: ApolloApplicationContextInitializer 在spring-boot环境下,该类中,通过对配置项apollo.bootstrap.enabled的开启,来达到Apollo在spring-boot环境下的autoconfig,其中主要是in…
Java:JMH与基准测试
介绍 JMH是一套Java基准测试工具,用于对Java执行进行基准测试以及生成测试报告。平时应用于Java一些基础Api或者一些工具类这种离开网络因素的纯系统测试。 使用方式 maven引入: <dependency> <groupId>org.openjdk.jmh</groupId> <artifact…
Java基础:ThreadLocal及其原理
ThreadLocal的用处 ThreadLocal是一个多线程的辅助工具类,目的是方便开发者维护多线程中的共享变量。我们知道如果我们想要在一个线程中一直访问一个变量或者在线程上下文中保存一个变量,我们要么将该变量声明为static静态,要么就在每一步函数调用中均传入该变量。这两种方式,static方式不能解决每个线程同时分别持有的问题。每一步函数…