摘要:随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越 复杂,诞生了面向服务的架构体系(SOA), 也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信 协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。 就这样为分布式系统的服务治理框架就出现 阅读全文
posted @ 2020-08-03 16:45 咔啡 阅读(4) 评论(0) 推荐(0) 编辑
摘要:含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以, 阅读全文
posted @ 2020-08-03 15:34 咔啡 阅读(7) 评论(0) 推荐(0) 编辑
摘要:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承具体类。抽象类中可以有静态的main方法。只有记住抽象类与普通类的唯一区别就是不能创建实例对象和允许有abstract方法。20、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(c 阅读全文
posted @ 2020-08-03 15:25 咔啡 阅读(3) 评论(0) 推荐(0) 编辑
摘要:2 << 3 阅读全文
posted @ 2020-08-03 15:22 咔啡 阅读(5) 评论(0) 推荐(0) 编辑
摘要:如果不查jdk api,我很难写出来!我可以说说我的思路:1 用正则表达式,代码大概为:String [] result = orgStr.split(“,”);2 用 StingTokenizer ,代码为:StringTokenizer tokener = StringTokenizer(org 阅读全文
posted @ 2020-08-03 15:09 咔啡 阅读(3) 评论(0) 推荐(0) 编辑
摘要:vi 文件名 #编辑方式查看,可修改 cat 文件名 #显示全部文件内容 more 文件名 #分页显示文件内容 less 文件名 #与 more 相似,更好的是可以往前翻页 tail 文件名 #仅查看尾部,还可以指定行数 head 文件名 #仅查看头部,还可以指定行数 阅读全文
posted @ 2020-08-03 15:06 咔啡 阅读(4) 评论(0) 推荐(0) 编辑
摘要:使用命令 repquota 能够显示出一个文件系统的配额信息 【附】只有 root 用户才能够查看其它用户的配额。 阅读全文
posted @ 2020-07-21 22:33 咔啡 阅读(28) 评论(0) 推荐(0) 编辑
摘要:不,Spring框架中的单例bean不是线程安全的。 阅读全文
posted @ 2020-07-21 21:16 咔啡 阅读(44) 评论(0) 推荐(0) 编辑
摘要:大多数Spring框架的用户选择声明式事务管理,因为它对应用代码的影响最小,因此更符合一个无侵入的轻量级容器的思想。声明式事务管理要优于编程式事务管理,虽然比编程式事务管理(这种方式允许你通过代码控制事务)少了一点灵活性。 阅读全文
posted @ 2020-07-21 19:57 咔啡 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Spring对数据访问对象(DAO)的支持旨在简化它和数据访问技术如JDBC,Hibernate or JDO 结合使用。这使我们可以方便切换持久层。编码时也不用担心会捕获每种技术特有的异常。 阅读全文
posted @ 2020-07-21 18:54 咔啡 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1、基于 SQL 语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL 写在 XML 里,解除 sql 与程序代码的耦合,便于统一管理;提供 XML标签,支持编写动态 SQL 语句,并可重用。 2、与 JDBC 相比,减少了 50%以上的代码量,消除了 JDBC 大量冗余的代码 阅读全文
posted @ 2020-07-21 18:52 咔啡 阅读(10) 评论(0) 推荐(0) 编辑
摘要:都有哪些映射形式? 第一种是使用<resultMap>标签,逐一定义数据库列名和对象属性名之间的映射关系。 第二种是使用 sql 列的别名功能,将列的别名书写为对象属性名。 有了列名与属性名的映射关系后,Mybatis 通过反射创建对象,同时使用反射给 对象的属性逐一赋值并返回,那些找不到映射关系的 阅读全文
posted @ 2020-07-21 18:49 咔啡 阅读(80) 评论(0) 推荐(0) 编辑
摘要:有联合查询和嵌套查询,联合查询是几个表联合查询,只查询一次, 通过在 resultMap 里面配置 association 节点配置一对一的类就可以完成; 嵌套查询是先查一个表,根据这个表里面的结果的 外键 id,去再另外一个表里面 查询数据,也是通过 association 配置,但另外一个表的查 阅读全文
posted @ 2020-07-21 18:44 咔啡 阅读(15) 评论(0) 推荐(0) 编辑
摘要:接口绑定,就是在 MyBatis 中任意定义接口,然后把接口里面的方法和 SQL 语句绑 定, 我们直接调用接口方法就可以,这样比起原来了 SqlSession 提供的方法我们可 以有更加灵活的选择和设置。 接口绑定有两种实现方式,一种是通过注解绑定,就是在接口的方法上面加上 @Select、@Up 阅读全文
posted @ 2020-07-21 18:27 咔啡 阅读(13) 评论(0) 推荐(0) 编辑
摘要:在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud co 阅读全文
posted @ 2020-07-21 18:26 咔啡 阅读(15) 评论(0) 推荐(0) 编辑
摘要:JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。 阅读全文
posted @ 2020-07-21 16:52 咔啡 阅读(23) 评论(0) 推荐(1) 编辑
摘要:可以点对点直连,修改配置即可,也可以通过 telnet 直接某个服务。 阅读全文
posted @ 2020-07-21 16:47 咔啡 阅读(16) 评论(0) 推荐(1) 编辑
摘要:服务直接的调用,比如在高并发情况下出现进程阻塞,导致当前线程不可用,慢慢的全部线程阻塞,导致服务器雪崩。服务熔断:相当于保险丝,出现某个异常,直接熔断整个服务,而不是一直等到服务超时。通过维护一个自己的线程池,当线程到达阈值的时候就启动服务降级,如果其他请求继续访问就直接返回fallback的默认值 阅读全文
posted @ 2020-07-21 14:59 咔啡 阅读(32) 评论(0) 推荐(0) 编辑
摘要:在计算中,负载均衡可以改善跨计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器等多种计算资源的工作负载分布。负载均衡旨在优化资源使用,最大吞吐量,最小响应时间并避免任何单一资源的过载。使用多个组件进行负载均衡而不是单个组件可能会通过冗余来提高可靠性和可用性。负载平衡通常涉及专用软件或硬件,例如多 阅读全文
posted @ 2020-07-21 14:18 咔啡 阅读(14) 评论(0) 推荐(0) 编辑
摘要:Servlet3.0相对于Servlet2.0来说最大的改变是引入了Annotation标注来取代xml配置,用于简化web应用的开发和部署。最主要几项特性: 1. 新增的注解支持:该版本新增了若干注解,用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得 we 阅读全文
posted @ 2020-07-21 14:10 咔啡 阅读(6) 评论(0) 推荐(0) 编辑
摘要:熔断机制是应对雪崩效应的一种微服务链路保护机制。当某个微服务不可用或者响应时间太长时,会进行服务降级,进而熔断该节点微服务的调用,快速返回“错误”的响应信息。当检测到该节点微服务调用响应正常后恢复调用链路。在SpringCloud框架里熔断机制通过Hystrix实现,Hystrix会监控微服务间调用 阅读全文
posted @ 2020-07-21 13:50 咔啡 阅读(51) 评论(0) 推荐(0) 编辑
摘要:1、Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 相同; 2、Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的 parameterType 的类型相同; 3、Mapper 接口方法的输出参数类型和 mapper.xml 中定义 阅读全文
posted @ 2020-07-20 20:01 咔啡 阅读(53) 评论(0) 推荐(0) 编辑
摘要:微服务架构中的架构师扮演以下角色: 决定整个软件系统的布局。 帮助确定组件的分区。因此,他们确保组件相互粘合,但不紧密耦合。 与开发人员共同编写代码,了解日常生活中面临的挑战。 为开发微服务的团队提供某些工具和技术的建议。 提供技术治理,以便技术开发团队遵循微服务原则。 阅读全文
posted @ 2020-07-20 19:57 咔啡 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Mike Cohn 提供了一个名为 Test Pyramid 的模型。这描述了软件开发所需的自 动化测试类型。 根据金字塔,第一层的测试数量应该最高。在服务层,测试次数应小于单元测试 级别,但应大于端到端级别。 阅读全文
posted @ 2020-07-20 19:33 咔啡 阅读(9) 评论(0) 推荐(0) 编辑
摘要:虽然两者都是用来暂停当前运行的线程,但是 sleep() 实际上只是短暂停顿,因 为它不会释放锁,而 wait() 意味着条件等待,这就是为什么该方法要释放锁,因 为只有这样,其他等待的线程才能在满足条件时获取到该锁。 阅读全文
posted @ 2020-07-20 19:31 咔啡 阅读(8) 评论(0) 推荐(1) 编辑
摘要:答Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数 据写入磁盘。所以 redis 具有快速和数据持久化的特征。如果不将数据放在内存中, 磁盘 I/O 速度为严重影响 redis 的性能。在内存越来越便宜的今天,redis 将会越 来越受欢迎。如果设置了最大使用的内存,则数据 阅读全文
posted @ 2020-07-20 19:27 咔啡 阅读(36) 评论(0) 推荐(0) 编辑
摘要:注解装配在默认情况下是不开启的,为了使用注解装配,我们必须在Spring配置文件中配置 元素。 阅读全文
posted @ 2020-07-20 19:22 咔啡 阅读(5) 评论(0) 推荐(0) 编辑
摘要:这个问题比较系统,回答出 kafka 的系统特点,leader 和 follower 的关系,消息 读写的顺序即可。 阅读全文
posted @ 2020-07-20 18:54 咔啡 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Spring Boot 的优点有: 1、减少开发,测试时间和努力。 2、使用 JavaConfig 有助于避免使用 XML。 3、避免大量的 Maven 导入和各种版本冲突。 4、提供意见发展方法。 5、通过提供默认值快速开始开发。 6、没有单独的 Web 服务器需要。这意味着你不再需要启动 Tom 阅读全文
posted @ 2020-07-20 18:52 咔啡 阅读(9) 评论(0) 推荐(0) 编辑
摘要:我们知道拥有自己的数据库的每个微服务都是一个可独立部署的程序单元,这反 过来又让我们可以创建一个状态机。因此,我们可以为特定的微服务指定不同的 状态和事件。 例如,我们可以定义 Order 微服务。订单可以具有不同的状态。Order 状态的转 换可以是 Order 微服务中的独立事件。 阅读全文
posted @ 2020-07-20 18:30 咔啡 阅读(6) 评论(0) 推荐(0) 编辑
摘要:有联合查询和嵌套查询。联合查询是几个表联合查询,只查询一次,通过在 resultMap 里面的 collection 节点配置一对多的类就可以完成;嵌套查询是先查 一个表,根据这个表里面的 结果的外键 id,去再另外一个表里面查询数据,也是通过 配置 collection,但另外一个表的查询通过 s 阅读全文
posted @ 2020-07-20 17:38 咔啡 阅读(21) 评论(0) 推荐(1) 编辑
摘要:常用命令:ls get set create delete 等。 阅读全文
posted @ 2020-07-20 17:30 咔啡 阅读(8) 评论(0) 推荐(0) 编辑
摘要:1、服务间高度解耦 2、异步通信性能高 3、流量削峰 阅读全文
posted @ 2020-07-20 16:17 咔啡 阅读(15) 评论(0) 推荐(0) 编辑
摘要:由于 TCP 连接的创建和销毁开销较大,且并发数受系统资源限制,会造成性能瓶 颈。RabbitMQ 使用信道的方式来传输数据。信道是建立在真实的 TCP 连接内的 虚拟连接,且每条 TCP 连接上的信道数量没有限制。 阅读全文
posted @ 2020-07-20 16:04 咔啡 阅读(7) 评论(0) 推荐(0) 编辑
摘要:insert 方法总是返回一个 int 值 ,这个值代表的是插入的行数。 如果采用自增长策略,自动生成的键值在 insert 方法执行完后可以被设置到传入的参数对象中。 示例: <insert id=”insertname” usegeneratedkeys=”true” keyproperty=” 阅读全文
posted @ 2020-07-20 07:50 咔啡 阅读(24) 评论(0) 推荐(0) 编辑
摘要:UGO(User/Group/Others) 目前在 Linux/Unix 文件系统中使用,也是使用最广泛的权限控制方式。是一种粗 粒度的文件系统权限控制模式。 ACL(Access Control List)访问控制列表 包括三个方面: 权限模式(Scheme) 1、IP:从 IP 地址粒度进行权 阅读全文
posted @ 2020-07-20 07:48 咔啡 阅读(28) 评论(0) 推荐(0) 编辑
摘要:第 1 种:在 Java 代码中添加 sql 通配符。 string wildcardname = “%smi%”; list<name> names = mapper.selectlike(wildcardname); <select id=”selectlike”> select * from 阅读全文
posted @ 2020-07-20 07:46 咔啡 阅读(30) 评论(0) 推荐(1) 编辑
摘要:有联合查询和嵌套查询。联合查询是几个表联合查询,只查询一次,通过在 resultMap 里面的 collection 节点配置一对多的类就可以完成;嵌套查询是先查 一个表,根据这个表里面的 结果的外键 id,去再另外一个表里面查询数据,也是通过 配置 collection,但另外一个表的查询通过 s 阅读全文
posted @ 2020-07-20 07:43 咔啡 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1、第一种: DAO 层的函数 public UserselectUser(String name,String area); 对应的 xml,#{0}代表接收的是 dao 层中的第一个参数,#{1}代表 dao 层中第二 参数,更多参数一致往后加即可。 <select id="selectUser 阅读全文
posted @ 2020-07-20 07:41 咔啡 阅读(118) 评论(0) 推荐(0) 编辑
摘要:何为同步容器:可以简单地理解为通过 synchronized 来实现同步的容器,如果有 多个线程调用同步容器的方法,它们将会串行执行。比如 Vector,Hashtable, 以及 Collections.synchronizedSet,synchronizedList 等方法返回的容器。 可以通过 阅读全文
posted @ 2020-07-20 07:38 咔啡 阅读(5) 评论(0) 推荐(0) 编辑