摘要: 为什么需要多线程? 为了合理利用CPU的高性能,平衡CPU,内存,IO设备的差异。 线程不安全的示例 多个线程对同一个共享数据进行访问而不采取同步操作,那么操作的结果是不一致的。 并发的三要素 可见性:一个线程对共享变量的修改,另外一个线程能够立刻看到 有序性:即程序执行的顺序按照代码的先后来执行。 阅读全文
posted @ 2022-04-26 20:59 吃泡面不喝汤 阅读(109) 评论(0) 推荐(0)
摘要: TreeSet 基于红黑树,支持有序操作。底层是TreeMap实现的(add方法是调用TreeMap的 put方法),TreeMap的put()方法内部是 通过comparato 进行比较大小和排序。TreeSet内部需要对元素进 行排序,因此元素需要实现Comparable接口。如果没有实现则会抛 阅读全文
posted @ 2022-04-18 23:56 吃泡面不喝汤 阅读(51) 评论(0) 推荐(0)
摘要: 1.找到本机 jdk安装路径 2.进入bin目录,找到jvisualvm.exe文件,点击启动。 3.启动界面左侧 选择 需要监控的 服务,点击即进入监控界面 阅读全文
posted @ 2022-04-12 15:27 吃泡面不喝汤 阅读(157) 评论(0) 推荐(0)
摘要: 1.Jmeter解压后,在bin目录下,点击 jmeter.sh 启动 Jmter 2.添加线程组,线程数填写 3.添加http请求,协议填写 http,服务器名称或者IP填写 localhost,端口号 填写 前端的 9206,路径填写 url 端口号后面的 4.添加察看结果树 5.点击绿色按钮启 阅读全文
posted @ 2022-04-12 15:21 吃泡面不喝汤 阅读(45) 评论(0) 推荐(0)
摘要: 1.简单工厂模式 计算器-简单工厂模式。到底实例化谁,将来会不会增加新的实例化对象。这是很容易变化的地方,应该考虑一个单独的类来做这个创建实例额的过程,这就是工厂。 2.策略模式 商场促销-策略模式。策略模式定义了算法家族,分别封装起来,它们之间可以互相替换,此模式让算法的变化,不会影响使用算法的客 阅读全文
posted @ 2022-04-06 00:07 吃泡面不喝汤 阅读(97) 评论(0) 推荐(0)
摘要: 1.synchronied原理:是由jvm实现的一种互斥同步的一种方式,被它所修饰过的代码块, 编译后的字节码,会发现在编译前后被编译器生成了monitorenter和 monitoreixt两个字节码指令。 在虚拟机执行到monitorenter指令时,首先要尝试获取对象的锁:如果这个对象 没有锁 阅读全文
posted @ 2022-03-01 00:11 吃泡面不喝汤 阅读(53) 评论(0) 推荐(0)
摘要: 1.使用explan你的查询,这个关键字可以让你知道mysql是如何处理你的sql语句,可以分析查询语句或者是表结构性能瓶颈。还可以告诉你索引主键被如何利用,表数据时如何被搜索和排序的。 2.当只要一行数据时使用LIMIT 1。当你查询表的时候,已经知道结果只会有一条结果。 3.为搜索字段建立索引。 阅读全文
posted @ 2022-02-17 23:55 吃泡面不喝汤 阅读(39) 评论(0) 推荐(0)