随笔分类 -  面面俱到

上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要:单一职责原则——SRP 开闭原则——OCP 里式替换原则——LSP 依赖倒置原则——DIP 接口隔离原则——ISP 迪米特原则——LOD 单一职责原则 单一职责原则的定义是就一个类而言,应该仅有一个引起它变化的原因。也就是说一个类应该只负责一件事情。如果一个类负责了方法M1,方法M2两个不同的事情, 阅读全文
posted @ 2023-03-18 19:31 残城碎梦 阅读(36) 评论(0) 推荐(0) 编辑
摘要:MySQL的优化,是每一个程序员在做数据查询处理的时候,经常有的步骤。 那么SQL的优化有很多种,它可以是在硬件方面的,可以是在代码层面的,可以是在数据库方面的优化。下面就详细整理一下30种优化MYSQL的方案: 1)在读表的时候,尽可能的避免全表扫描,合理的根据业务需求,在where及order 阅读全文
posted @ 2023-03-18 19:30 残城碎梦 阅读(21) 评论(0) 推荐(0) 编辑
摘要:常犯的错误 public static void main(String[] args) { List<String> platformList = new ArrayList<>(); platformList.add("博客园"); platformList.add("CSDN"); platf 阅读全文
posted @ 2023-03-18 19:15 残城碎梦 阅读(196) 评论(0) 推荐(0) 编辑
摘要:为什么使用线程池 为每个请求创建一个新线程的开销很大 容易引起资源不足,造成浪费 使用线程池的风险 死锁、资源不足和线程泄漏。 死锁 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死 阅读全文
posted @ 2023-03-18 19:12 残城碎梦 阅读(51) 评论(0) 推荐(0) 编辑
摘要:volatile的作用 通常情况下我们可以通过synchronized关键字来解决可见性、有序性及原子性问题,synchronized是一个比较重量级的操作,对系统的性能有比较大的影响,所以,如果有其他解决方案,我们通常都避免使用synchronized来解决问题。 volatile关键字就是Jav 阅读全文
posted @ 2023-03-18 15:42 残城碎梦 阅读(24) 评论(0) 推荐(0) 编辑
摘要:线程的状态 Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态)。 New:新建状态,当线程创建完成时为新建状态,即new Thread(…),还没有调用start方法时,线程处于新建状态。 R 阅读全文
posted @ 2023-03-18 13:21 残城碎梦 阅读(36) 评论(0) 推荐(0) 编辑
摘要:synchronized的基本使用 synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。 作用主要有三个: 确保线程互斥的访问同步代码 保证共享变量的修改能够及时可见 有效解决重排序问题 从语法上讲,synchronized总共有三种用法: 修饰普通方法 修饰静 阅读全文
posted @ 2023-03-18 12:08 残城碎梦 阅读(25) 评论(0) 推荐(0) 编辑
摘要:MySQL常用引擎有MyISAM和InnoDB,而InnoDB是mysql默认的引擎。MyISAM不支持行锁,而InnoDB支持行锁和表锁。 如何加锁 MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT等)前,会自动给涉 阅读全文
posted @ 2023-03-18 11:57 残城碎梦 阅读(48) 评论(0) 推荐(0) 编辑
摘要:普通索引:没有任何限制条件的索引,该索引可以在任何数据类型中创建。 唯一索引:使用UNIQUE参数可以设置唯一索引。创建该索引时,索引列的值必须唯一,但允许有空值。通过唯一索引,用户可以快速地定位某条记录,主键索引是一种特殊的唯一索引。 全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文 阅读全文
posted @ 2023-03-18 11:21 残城碎梦 阅读(20) 评论(0) 推荐(0) 编辑
摘要:MyISAM 不支持事务,但是每次查询都是原子的; 支持表级锁,即每次操作对整个表加锁; 存储表的总行数; 一个MyISAM表有三个文件:索引文件、表结构文件、数据文件; 采用非聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。 InnoDB 支持A 阅读全文
posted @ 2023-03-18 11:18 残城碎梦 阅读(18) 评论(0) 推荐(0) 编辑
摘要:选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中的学号。 为经常需要排序、分组和联合操作的字段建立索引 经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。如果为其建立索引,可以有效地避免排序操作。 阅读全文
posted @ 2023-03-18 10:24 残城碎梦 阅读(31) 评论(0) 推荐(0) 编辑
摘要:公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计。 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序 阅读全文
posted @ 2023-03-18 09:55 残城碎梦 阅读(42) 评论(0) 推荐(0) 编辑
摘要:BeanFactory和FactoryBean的区别 BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。 但对FactoryBean而言,这个Bean 阅读全文
posted @ 2023-03-18 09:37 残城碎梦 阅读(19) 评论(0) 推荐(0) 编辑
摘要:线程池有五种状态:RUNNING, SHUTDOWN, STOP, TIDYING, TERMINATED。 RUNNING:接收并处理任务。 SHUTDOWN:不接收但处理现有任务。 STOP:不接收也不处理任务,同时终端当前处理的任务。 TIDYING:所有任务终止,线程池会变为 TIDYING 阅读全文
posted @ 2023-03-17 23:02 残城碎梦 阅读(175) 评论(0) 推荐(0) 编辑
摘要:DNS解析:将域名解析成IP地址 TCP连接:TCP三次握手 发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 连接结束:TCP四次挥手 DNS解析 在浏览器输入URL后,首先要经过域名解析。浏览器通过向 DNS 服务器发送域名,DNS 服务器查询到与域名相对应的 IP 地址, 阅读全文
posted @ 2023-03-17 22:56 残城碎梦 阅读(13) 评论(0) 推荐(0) 编辑
摘要:所谓HTTP协议的无状态性是指服务器的协议层无需为不同的请求之间建立任何相关关系,它特指的是协议层的无状态性。但是这并不代表建立在HTTP协议之上的应用程序就无法维持状态。 应用层可以通过会话Session来跟踪用户请求之间的相关性,服务器会为每个会话对象绑定一个唯一的会话ID,浏览器可以将会话ID 阅读全文
posted @ 2023-03-17 22:56 残城碎梦 阅读(22) 评论(0) 推荐(0) 编辑
摘要:当程序使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、链接、初始化三个步骤对该类进行类加载。 加载 类加载指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象。类的加载过程是由类加载器来完成,类加载器由JVM提供。我们开发人员也可以通过继承ClassLo 阅读全文
posted @ 2023-03-17 22:52 残城碎梦 阅读(112) 评论(0) 推荐(0) 编辑
摘要:线程间的通信方式 同步 指多个线程通过synchronized关键字这种方式来实现线程间的通信。 这种方式,本质上就是“共享内存”式的通信。多个线程需要访问同一个共享变量,谁拿到了锁(获得了访问权限),谁就可以执行。 while轮询的方式 线程A不断地改变条件,线程ThreadB不停地通过while 阅读全文
posted @ 2023-03-17 22:34 残城碎梦 阅读(23) 评论(0) 推荐(0) 编辑
摘要:为什么要拆分数据库? 数据库负载和数据量大 拆分数据库是有讲究的,必须:先水平切分,然后垂直切分。 什么是垂直切分? 垂直切分是根据业务来拆分数据库,同一类业务的数据表拆分到一个独立的数据库,另一类的数据表拆分到其他数据库。 比如说一个新零售的电商数据库,我们可以把跟商品相关的数据表拆分成一个数据库 阅读全文
posted @ 2023-03-17 15:23 残城碎梦 阅读(59) 评论(0) 推荐(0) 编辑
摘要:联合索引失效的条件 联合索引又叫复合索引。两个或更多个列上的索引被称作复合索引。 对于复合索引:MySQL从左到右使用索引中的字段,一个查询可以只使用索引中的一部分,但只能是最左侧部分。例如索引是key index (a,b,c)。可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b 阅读全文
posted @ 2023-03-17 11:03 残城碎梦 阅读(412) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 下一页
点击右上角即可分享
微信分享提示