摘要:
1、读写分离 2、分段加锁 3、减少锁持有的时间 4.多个线程尽量以相同的顺序去获取资源 不能将锁的粒度过于细化,不然可能会出现线程的加锁和释放次数过多,反而效 率不如一次加一把大锁。
阅读全文
posted @ 2020-09-23 15:26
咔啡
阅读(350)
推荐(0)
摘要:
interrupt interrupt 方法用于中断线程。调用该方法的线程的状态为将被置为”中断”状态。 注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监 视线程的状态为并做处理。支持线程中断的方法(也就是线程中断后会抛出 interruptedException 的方法)就是
阅读全文
posted @ 2020-09-23 15:16
咔啡
阅读(227)
推荐(0)
摘要:
Get会发送查询语句提取数据,而load方法当对象使用时才去数据库查询。如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。load方法可以充分利用内部缓存和二
阅读全文
posted @ 2020-09-21 21:06
咔啡
阅读(121)
推荐(0)
摘要:
读写锁是用来提升并发程序性能的锁分离技术的成果。
阅读全文
posted @ 2020-09-18 09:58
咔啡
阅读(198)
推荐(0)
摘要:
一个Spring Bean 的定义包含容器必知的所有配置元数据,包括如何创建一个bean,它的生命周期详情及它的依赖。
阅读全文
posted @ 2020-09-18 09:50
咔啡
阅读(185)
推荐(0)
摘要:
Servlet是sun公司提供的一门用于开发动态web资源的技术,是Java语言中编写Web服务器扩展功能的重要技术,同时它也是JSP技术的底层运行基础。 Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类.Servlet被编译为平台中立
阅读全文
posted @ 2020-09-16 21:38
咔啡
阅读(147)
推荐(0)
摘要:
客户端系统用于向远程服务器发出经过身份验证的请求的一种数字证书称为客户 端证书。客户端证书在许多相互认证设计中起着非常重要的作用,为请求者的身 份提供了强有力的保证。
阅读全文
posted @ 2020-09-16 21:37
咔啡
阅读(444)
推荐(0)
摘要:
Required 如果当前存在一个事务,则加入当前事务。如果不存在任何事务,则创建一个新的事务。总之,要至少保证在一个事务中运行。PROPAGATION_REQUIRED通常作为默认的事务传播行为。propagtion RequiresNew 不管当前是否存在事务,都会创建新的事务。如果当前存在事务
阅读全文
posted @ 2020-09-16 20:49
咔啡
阅读(336)
推荐(0)
摘要:
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,该方法在整个生命周期中只运行一次,用于做一些准备
阅读全文
posted @ 2020-09-11 22:24
咔啡
阅读(152)
推荐(0)
摘要:
在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机 器可以共享这个结果,这样可以大大减少重复计算,提高性能,于是就需要进行 leader 选举。
阅读全文
posted @ 2020-09-11 22:19
咔啡
阅读(286)
推荐(0)
摘要:
Spring容器 从XML 文件中读取bean的定义,并实例化bean。 Spring根据bean的定义填充所有的属性。 如果bean实现了BeanNameAware 接口,Spring 传递bean 的ID 到 setBeanName方法。 如果Bean 实现了 BeanFactoryAware
阅读全文
posted @ 2020-09-11 21:35
咔啡
阅读(249)
推荐(0)
摘要:
集群规则为 2N+1 台,N>0,即 3 台。
阅读全文
posted @ 2020-09-10 19:48
咔啡
阅读(776)
推荐(0)
摘要:
Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才 会执行。
阅读全文
posted @ 2020-09-10 16:19
咔啡
阅读(187)
推荐(0)
摘要:
不,Spring框架中的单例bean不是线程安全的。
阅读全文
posted @ 2020-09-10 15:50
咔啡
阅读(411)
推荐(0)
摘要:
在使用 Spring Boot 开发分布式微服务时,我们面临的问题很少由 Spring Cloud解决。与分布式系统相关的复杂性 – 包括网络问题,延迟开销,带宽问题,安 全问题。处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进 行通信。解决冗余问题 – 冗余问题经常发生在分布式系
阅读全文
posted @ 2020-09-10 14:09
咔啡
阅读(609)
推荐(0)
摘要:
1、服务端接收 Watcher 并存储 接收到客户端请求,处理请求判断是否需要注册 Watcher,需要的话将数据节点 的节点路径和 ServerCnxn(ServerCnxn 代表一个客户端和服务端的连接,实现 了 Watcher 的 process 接口,此时可以看成一个 Watcher 对象)
阅读全文
posted @ 2020-09-10 09:38
咔啡
阅读(140)
推荐(0)
摘要:
一个内部类对象可以访问创建它的外部类对象的成员,包括私有成员。
阅读全文
posted @ 2020-09-10 09:21
咔啡
阅读(272)
推荐(0)
摘要:
Spring支持两种类型的事务管理: 编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护。 声明式事务管理:这意味着你可以将业务代码和事务管理分离,你只需用注解和XML配置来管理事务。
阅读全文
posted @ 2020-08-27 22:33
咔啡
阅读(454)
推荐(0)
摘要:
#{}是预编译处理,${}是字符串替换。 Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set 方法来赋值; Mybatis 在处理${}时,就是把${}替换成变量的值。 使用#{}可以有效的防止 SQL 注入,提高系统安全性。
阅读全文
posted @ 2020-08-26 21:34
咔啡
阅读(438)
推荐(0)
摘要:
java 中的线程分为两种:守护线程(Daemon)和用户线程(User)。 任何线程都可以设置为守护线程和用户线程,通过方法 Thread.setDaemon(bool on);true 则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon() 必须在 Thread.sta
阅读全文
posted @ 2020-08-26 20:31
咔啡
阅读(445)
推荐(0)
摘要:
Zookeeper 允许客户端向服务端的某个 Znode 注册一个 Watcher 监听,当服务 端的一些指定事件触发了这个 Watcher,服务端会向指定客户端发送一个事件通 知来实现分布式的通知功能,然后客户端根据 Watcher 通知状态和事件类型做出 业务上的改变。 工作机制: 1、客户端注
阅读全文
posted @ 2020-08-26 16:12
咔啡
阅读(300)
推荐(0)
摘要:
(1)前置通知(Before advice):在某连接点(join point)之前执行的通知,但这个通知不能阻止连接点前的执行(除非它抛出一个异常)。 (2)返回后通知(After returning advice):在某连接点(join point)正常完成后执行的通知:例如,一个方法没有抛出任
阅读全文
posted @ 2020-08-25 17:09
咔啡
阅读(4754)
推荐(0)
摘要:
Dao 接口即 Mapper 接口。接口的全限名,就是映射文件中的 namespace 的值; 接口的方法名,就是映射文件中 Mapper 的 Statement 的 id 值;接口方法内的 参数,就是传递给 sql 的参数。 Mapper 接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼
阅读全文
posted @ 2020-08-25 16:57
咔啡
阅读(484)
推荐(0)
摘要:
Bean 工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从正真的应用代码中分离。 最常用的BeanFactory 实现是XmlBeanFactory 类。
阅读全文
posted @ 2020-08-25 16:53
咔啡
阅读(183)
推荐(0)
摘要:
这是基本的Spring模块,提供spring 框架的基础功能,BeanFactory 是 任何以spring为基础的应用的核心。Spring 框架建立在此模块之上,它使Spring成为一个容器。
阅读全文
posted @ 2020-08-25 16:51
咔啡
阅读(322)
推荐(0)
摘要:
JSP共有以下9个内置的对象: request请求对象 response 响应对象 pageContext 页面上下文对象 session 会话对象 application web应用上下文对象 out 输出对象 config 配置信息对象 page JSP网页本身 exception 针对错误网页
阅读全文
posted @ 2020-08-24 14:38
咔啡
阅读(993)
推荐(0)
摘要:
Docker 提供了一个可用于托管任何应用程序的容器环境。在此,软件应用程序和 支持它的依赖项紧密打包在一起。 因此,这个打包的产品被称为 Container,因为它是由 Docker 完成的,所以它 被称为 Docker 容器!
阅读全文
posted @ 2020-08-23 17:38
咔啡
阅读(435)
推荐(0)
摘要:
1、MyBatis 专注于 SQL 本身,是一个足够灵活的 DAO 层解决方案。 2、对性能的要求很高,或者需求变化较多的项目,如互联网项目,MyBatis 将是 不错的选择。
阅读全文
posted @ 2020-08-23 16:05
咔啡
阅读(449)
推荐(0)
摘要:
只需访问 https://spring.io/projects 页面,我们就会看到可以在我们的应用程序中使用的 所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目,我们必须添加构建路径或添加 Maven 依赖关系,配置应用程序服务器,添加 spring 配置。因此,开始一个
阅读全文
posted @ 2020-08-23 16:04
咔啡
阅读(81)
推荐(0)
摘要:
Mybatis 仅可以编写针对 ParameterHandler、ResultSetHandler、 StatementHandler、Executor 这 4 种接口的插件,Mybatis 使用 JDK 的动态代 理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这 4 种 接口对象
阅读全文
posted @ 2020-08-23 16:02
咔啡
阅读(840)
推荐(0)
摘要:
insert 方法总是返回一个 int 值 ,这个值代表的是插入的行数。 如果采用自增长策略,自动生成的键值在 insert 方法执行完后可以被设置到传入 的参数对象中。 示例: <insert id=”insertname” usegeneratedkeys=”true” keyproperty=
阅读全文
posted @ 2020-08-18 00:37
咔啡
阅读(411)
推荐(0)
摘要:
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
阅读全文
posted @ 2020-08-07 23:34
咔啡
阅读(162)
推荐(0)
摘要:
1、第一种: DAO 层的函数 public UserselectUser(String name,String area); 对应的 xml,#{0}代表接收的是 dao 层中的第一个参数,#{1}代表 dao 层中第二 参数,更多参数一致往后加即可。 <select id="selectUser
阅读全文
posted @ 2020-08-07 23:33
咔啡
阅读(997)
推荐(0)
摘要:
在并发编程中,我们经常用到非阻塞的模型,在之前的多线程的三种实现中,不 管是继承 thread 类还是实现 runnable 接口,都无法保证获取到之前的执行结果。 通过实现 Callback 接口,并用 Future 可以来接收多线程的执行结果。 Future 表示一个可能还没有完成的异步任务的结
阅读全文
posted @ 2020-08-07 23:31
咔啡
阅读(687)
推荐(0)
摘要:
Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序, 提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架, 用于快速构建执行有限数据处理的应用程序。
阅读全文
posted @ 2020-08-05 11:40
咔啡
阅读(154)
推荐(0)
摘要:
分桶策略:将类似的会话放在同一区块中进行管理,以便于 Zookeeper 对会话进 行不同区块的隔离处理以及同一区块的统一处理。 分配原则:每个会话的“下次超时时间点”(ExpirationTime) 计算公式: ExpirationTime_ = currentTime + sessionTime
阅读全文
posted @ 2020-08-05 11:39
咔啡
阅读(119)
推荐(0)
摘要:
随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越 复杂,诞生了面向服务的架构体系(SOA), 也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信 协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。 就这样为分布式系统的服务治理框架就出现
阅读全文
posted @ 2020-08-03 16:45
咔啡
阅读(437)
推荐(0)
摘要:
含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,
阅读全文
posted @ 2020-08-03 15:34
咔啡
阅读(719)
推荐(1)
摘要:
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承具体类。抽象类中可以有静态的main方法。只有记住抽象类与普通类的唯一区别就是不能创建实例对象和允许有abstract方法。20、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(c
阅读全文
posted @ 2020-08-03 15:25
咔啡
阅读(389)
推荐(0)
posted @ 2020-08-03 15:22
咔啡
阅读(201)
推荐(0)