- 博客(19)
- 收藏
- 关注
转载 Java多线程:向线程传递参数的三种方法
一、通过构造方法传递数据在创建线程时,必须要建立一个Thread类的或其子类的实例。因此,我们不难想到在调用start方法之前通过线程类的构造方法将数据传入线程。并将传入的数据使用类变量保存起来,以便线程使用(其实就是在run方法中使用)。下面的代码演示了如何通过构造方法来传递数据:package mythread; public class MyThread1 extends Thread{ private String name; public MyThread1(Stri
2021-08-12 15:58:32
590
转载 详解 MySql InnoDB 中意向锁的作用
意向锁就是其中的一种表锁。意向锁(Intention Locks)需要强调一下,意向锁是一种不与行级锁冲突表级锁,这一点非常重要。意向锁分为两种:意向共享锁(intention shared lock, IS):事务有意向对表中的某些行加共享锁(S锁)-- 事务要获取某些行的 S 锁,必须先获得表的 IS 锁。SELECT column FROM table ... LOCK IN SHARE MODE;意向排他锁(intention exclusive lock, IX):事务有意向对表中的某
2021-07-30 09:31:08
332
转载 数据库分库分表
一. 数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维 度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作
2021-07-29 16:44:42
133
转载 lookup-method和replace-method注入
Spring的方法注入可分为两种查找方法注入:用于注入方法返回结果,也就是说能通过配置方式替换方法返回结果。即我们通常所说的lookup-method注入。替换方法注入:可以实现方法主体或返回结果的替换,即我们通常所说的replaced-method注入。1. lookup-method注入单例模式的bean只会被创建一次,IoC容器会缓存该bean实例以供下次使用;原型模式的bean每次都会创建一个全新的bean,IoC容器不会缓存该bean的实例。那么如果现在有一个单例模式的bean引用了一个原
2021-07-28 09:57:02
601
转载 jdk动态代理实现原理
JDK动态代理JDK动态代理是代理模式的一种实现方式,其只能代理接口。使用步骤1、 新建一个接口2、 为接口创建一个实现类3、 创建代理类实现java.lang.reflect.InvocationHandler接口4、 测试简单案例根据使用步骤:首先新建一个接口Subjectpackage com.lnjecit.proxy;/** * Subject * 抽象主题接口 * @author * @create 2018-03-29 14:16 **/public int
2021-07-27 21:35:24
113
转载 mybatis批量插入
java代码:注意:这里循环的时候需new 出来新的对象,而不能通过循环改变属性的值就认为这是一个新的对象了,通俗的说就是new ReddemCode()要放在for循环的里面.xxxMapper.xml 1 <!-- 批量插入生成的兑换码 --> 2 <insert id ="insertCodeBatch" parameterType="java.util.List" > 3 <selectKey resultType ="jav
2021-07-26 16:00:29
141
原创 IOC中最常用的设计模式
参考文章:https://zhuanlan.zhihu.com/p/384765501https://www.jianshu.com/p/139f813fca80https://www.cnblogs.com/nickup/p/9800120.html1、工厂模式1.1、定义工厂模式可将Java对象的调用者从被调用者的实现逻辑中分离出来,调用者只需关心被调用者必须满足的规则(接口),而不必关心实例的具体实现过程。工厂模式由抽象产品(接口)、具体产品(实现类)、生产者(工厂类)三种角色组成。1.
2021-07-26 15:28:47
1840
转载 一致性哈希算法-通俗易懂
在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。场景描述假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存,我们希望这些图片被均匀的缓存到这3台服务器上,以便它们能够分摊缓存的压力。也就是说,我们希望每台服务器能够缓存1万张左右的图片,那么,我们应该怎样做呢?如果我们没有任何规律的
2021-07-25 10:17:17
106
转载 深入解析synchronized实现原理,如何保证原子性、有序性和可见性?
前言这篇文章主要介绍synchronized底层实现,还有它是如何保证原子性、有序性和可见性的。在进入正题之前,举个小栗子:看代码:public class Demo { public synchronized void method1() { System.out.println("Hello, do method1."); //模拟网络IO try { Thread.sleep(50);
2021-06-11 11:21:02
2328
1
原创 JVM的永久代,元空间中会发生垃圾回收吗---个人理解
什么是full GC大众认知上先说一下结论,Full GC这个概念是没有官方定义的,而且含义还特别混乱,在不同地方表达的含义是不同的,需要就不同的场景分别进行讨论。在通常意义上人们口中说的Full GC为一次特殊GC行为的描述,这次GC会回收整个堆的内存,包含老年代,新生代,metaspace等,从GC日志上在gc.log中会发现在部分gc日志头中也有Full GC这样的字眼,这里表示的含义是在这次GC的全过程中,都是Stop Theworld的状态,也就是说在这次GC的全过程中所有用户线程
2021-06-10 11:06:42
8612
15
转载 nginx入门笔记
公司产品出现瓶颈?我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。但是慢慢的,使用我们平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了。于是我们横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮我们转发到不同的服
2021-06-08 17:30:54
85
原创 彻底搞懂JVM中的OOM,体系结构,内存结构
什么是OOM,OOM为什么会发生,如何解决?概念OOM,全称“Out Of Memory”,意思是“内存用完了”来源于 java.lang.OutOfMemoryError这是个特别严重的问题,因为这个问题已经 严重到应用程序自己无法处理了。原因官方的文档称,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出 java.lang.OutOfMemoryError: ···具体原因一般有这两个:自身原因分配的内存少了,比如JVM虚拟机本身可使用的内
2021-06-07 16:18:25
275
原创 面试必备乐观锁&&悲观锁
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。J
2021-06-07 14:41:01
84
转载 JWT笔记
**JWT**1.什么是JWTJSON Web Token (JWT) is an open standard (RFC7519) that defines a compact andself-contained way for securely transmitting information betweenparties as a JSON object. This information can be verified and trustedbecause it is digita
2021-06-04 10:58:03
233
原创 springboot源码笔记
静态资源配置原理• SpringBoot启动默认加载 xxxAutoConfiguration 类(自动配置类)• SpringMVC功能的自动配置类 WebMvcAutoConfiguration生效条件:@Configuration(proxyBeanMethods = false)@ConditionalOnWebApplication(type = Type.SERVLET)@ConditionalOnClass({ Servlet.class, DispatcherServlet.c
2021-05-30 10:20:10
451
原创 html中使用$.ajax出现波浪线提示Unresolved function or method ajax()
1.直接在html中写入: //这是在网上找的引用地址2.在写入后,将鼠标光标放于该URL中,按Alt+enter,选择载入该模块。3.成功后悔提示successfully
2020-09-05 11:03:02
1991
原创 关于centos的服务器在windows下的浏览器启动不了的原因
原因:防火墙没关闭①关闭防火墙命令: service iptables stop②永久关闭防火墙命令:chkconfig iptables off③刷新浏览器中linux的网卡地址即可
2020-09-01 13:02:11
236
原创 关于mysql8.0.20启动出现的问题
cmd运行net start mysql命令出现拒绝访问1:在C:\Windows\System32目录下找到cmd.exe2:鼠标右键以管理员身份运行3:输入命令net start mysql启动服务4:查看mysql安装目录下是否有Data这个文件夹有的不一定是叫Data,可能是data,具体文件名以my.ini中以下配置指定5:如果没有,运行mysqld --initialize --console命令最后一行会产生一个随机密码也就是lwpfyqp6rn#G6:运行net s
2020-06-02 19:33:13
1044
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人