
java学习
文章平均质量分 56
java面试题
紫金小飞侠
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring学习
IOCIOC基本概念IOC容器本质指的就是工厂反射:通过得到类的字节码文件(.class),可以操作类中的所有内容IOC解耦类相互依赖的过程:解析xml配置文件获取类的路径,利用反射从二进制(.class)文件获取类的信息,再通过neInstance和强转创建类对象IOC操作Bean管理IOC操作的的术语是Bean管理依赖注入是Ioc的具体实现,属相注入的时候不再需要自己去new而是有spring创建好,直接去存放bean的容器中获取(依赖注入)IOC操作Bean管理(工厂Bean原创 2021-03-04 09:28:45 · 96 阅读 · 1 评论 -
ThreadPoolExecutor参数说明和建议设置
ThreadPoolExecutor参数说明原创 2021-03-22 15:19:30 · 818 阅读 · 0 评论 -
Java序列化为什么要实现Serializable接口
什么是Java序列化?序列化:将雷对象转换成字节码文件方便文件存储和网络传输序列化:Java中的序列化机制能够将一个实例对象信息写入到一个字节流中(只序列化对象的属性值,而不会去序列化方法),序列化后的对象可用于网络传输,或者持久化到数据库、磁盘中。反序列化:需要对象的时候,再通过字节流中的信息来重构一个相同的对象。Java中要使一个类可以序列化,实现java.io.Serializable接口是最简单的。package java.io;/** * @author unascribed原创 2021-03-22 10:58:34 · 665 阅读 · 0 评论 -
java集合
ListSetMapConncurrentHashMapHashtable同步的包装容器(如 Collections.synchronizedMap)ConncurrentHashMap除了 Hashtable 等同步容器,还提供了所谓的同步包装器(Synchronized Wrapper),我们可以调用 Collections 工具类提供的包装方法,来获取一个同步的包装容器(如 Collections.synchronizedMap),但是它们都是利用非常粗粒度的同步方式,在高并发情况下,性原创 2021-03-02 09:33:50 · 106 阅读 · 0 评论 -
秒杀系统
1.流量控制我们已经使用消息队列实现了部分工作的异步处理,但我们还面临一个问题:如何避免过多的请求压垮我们的秒杀系统?一个设计健壮的程序有自我保护的能力,也就是说,它应该可以在海量的请求下,还能在自身能力范围内尽可能多地处理请求,拒绝处理不了的请求并且保证自身运行正常。不幸的是,现实中很多程序并没有那么“健壮”,而直接拒绝请求返回错误对于用户来说也是不怎么好的体验。因此,我们需要设计一套足够健壮的架构来将后端的服务保护起来。我们的设计思路是,使用消息队列隔离网关和后端服务,以达到流量控制和保护后端服务转载 2021-01-04 14:47:41 · 288 阅读 · 0 评论 -
spring AOP底层实现原理---jdk和cglib动态代理
一文搞懂spring AOP原理,各种代理各种学转载 2020-11-14 21:12:37 · 112 阅读 · 0 评论 -
Spring5自己整理
IOC操作的属于就是Bean管理Bean 管理(bean作用域)bean作用域的作用域是指:创建bean实例是单实例还是多实例Bean 管理(bean的生命周期)Bean 管理(基于注解方式)原创 2020-11-10 09:19:47 · 94 阅读 · 0 评论 -
阻塞队列-> LinkedBlockingQueue与ArrayBlockingQueue区别
阻塞队列阻塞队列与普通的队列(LinkedList/ArrayList)相比,支持在向队列中添加元素时,队列的长度已满阻塞当前添加线程,直到队列未满或者等待超时;从队列中获取元素时,队列中元素为空 ,会将获取元素的线程阻塞,直到队列中存在元素 或者等待超时。在JUC包中常用的阻塞队列包含ArrayBlockingQueue/LinkedBlockingQueue/LinkedBlockingDeque等,从结构来看都继承了AbstractQueue实现了BlockingQueue接口(LinkedBlo原创 2020-10-27 15:21:55 · 771 阅读 · 0 评论 -
@Configuration、@Componen和@Bean的区别
@Configuration和@Componen:@Configurationpublic class MyTestConfig { @Bean public Driver driver(){ Driver driver = new Driver(); driver.setId(1); driver.setName("driver"); driver.setCar(car()); return driver原创 2020-10-27 13:56:57 · 1186 阅读 · 0 评论 -
Springboot内置Tomcat配置调优
云服务器配置12核心,24G内存,java启动jar命令:nohup $JAVA_HOME/bin/java -server -Xms10240m -Xmx14336m -Xmn9216m -XX:MetaspaceSize=400m -XX:MaxMetaspaceSize=5120m -XX:-OmitStackTraceInFastThrow -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:./song_gc原创 2020-10-19 08:22:41 · 4244 阅读 · 0 评论 -
消息队列
1. 消息队列在项目中的使用背景:在分布式系统中是如何处理高并发的。由于在高并发的环境下,来不及同步处理用户发送的请求,则会导致请求发生阻塞。比如说,大量的insert,update之类的请求同时到达数据库MYSQL,直接导致无数的行锁表锁,甚至会导致请求堆积很多。从而触发 too many connections 错误。使用消息队列可以解决【异步通信】异步并行削峰(排队)消息队列电商使用场景:消息队列的弊端:消息的不确定性:延迟队列,轮询技术来解决该问题即可!...原创 2020-10-15 09:41:40 · 109 阅读 · 0 评论 -
web相关
13. 单点登录实现过程单点登录一般使用在分布式系统中单点登录:一处登录多处使用!前提:单点登录多使用在分布式系统中。Demo:参观动物园流程:检票员=认证中心模块我直接带着大家进动物园,则会被检票员拦住【看我们是否有门票】,没有[售票处买票]登录=买票我去买票【带着票,带着大家一起准备进入动物园】检票员check【有票】Token=票我们手中有票就可以任意观赏动物的每处景点。京东:单点登录,是将token放入到cookie中的。案例:将浏览器的cookie禁用,则在登录京东则原创 2020-10-15 09:40:47 · 123 阅读 · 0 评论 -
java设计模式
单例设计模式编程题:写一个单例(Singleton)示例Singleton:在Java中即指单例设计模式,它是软件开发中最常用的设计模式之一。单:唯一例:实例单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。例如:代表JVM运行环境的Runtime类单例模式要点一是某个类只能有一个实例;构造器私有化二是它必须自行创建这个实例;含有一个该类的静态变量来保存这个唯一的实例三是它必须自行向整个系统提供这个实例;对外提供获取该实例对象的原创 2020-10-14 10:01:40 · 144 阅读 · 0 评论 -
java基础
Java基础1重载和重写的区别重载: 发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。重写: 发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子类就不能重写该方法2 String 和 StringBuffer、StringBuilder 的区别是什么?String 为什么是不可变的?可变性简单的来说:Stri原创 2020-10-14 08:18:22 · 132 阅读 · 0 评论 -
Spring
Spring Bean的作用域之间有什么区别bean的作用域:1. singleton: 单例的(默认值), 在整个IOC容器中只能存在一个bean的对象. 而且在IOC容器对象被创建时,就创建单例的bean的对象. 后续每次通过getBean()方法获取bean对象时,返回的都是同一个对象.2. prototype: 原型的/多例的 在整个IOC容器中可有多个bean的对象。 在IOC容器对象被创建时, 不会创建原型的bean的对象。 而是等到没次通过getBean()方法获取b原创 2020-10-13 09:54:18 · 236 阅读 · 0 评论 -
数据库
Spring支持的常用数据库事务–传播属性数据库事务事务是为了保证数据的完整性和一致性。事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作,这些操作要么都执行,要么都不执行。事务的四个关键属性(ACID)①原子性(atomicity):“原子”的本意是“不可再分”,事务的原子性表现为一个事务中涉及到的多个操作在逻辑上缺一不可。事务的原子性要求事务中的所有操作要么都执行,要么都不执行。②一致性(consistency):“一致”指的是数据的一致,具体是指:所有数据都处于满原创 2020-10-13 09:54:05 · 130 阅读 · 0 评论 -
kafka面试题
消息中间件面试题不错RocketMQ与Kafka对比(18项差异)KAFKA:百万级吞吐量原理转载 2020-09-15 11:09:41 · 110 阅读 · 0 评论 -
java中的异常和日志处理
java中的异常和日志处理转载 2020-08-07 14:11:26 · 169 阅读 · 0 评论 -
Spring中的循环依赖
面试必杀技,讲一讲Spring中的循环依赖转载 2020-08-07 14:07:48 · 103 阅读 · 0 评论 -
Spring 单例bean与原型bean的区别
Spring 中的 bean 为什么默认单例单例bean与原型bean的区别如果一个bean被声明为单例的时候,在处理多次请求的时候在Spring容器里只实例化出一个bean,后续的请求都公用这个对象,这个对象会保存在一个map里面。当有请求来的时候会先从缓存(map)里查看有没有,有的话直接使用这个对象,没有的话才实例化一个新的对象,所以这是个单例的。但是对于原型(prototype)bean来说当每次请求来的时候直接实例化新的bean,没有缓存以及从缓存查的过程。总结:单例的bean转载 2020-08-07 13:58:50 · 2627 阅读 · 0 评论 -
java面试题
Java基础面试题大全转载 2020-08-06 09:58:10 · 104 阅读 · 0 评论 -
2019每特教育&蚂蚁课堂-Java互联网微服务架构面试宝典v1
目录结构微服务架构相关大型网站架构演变过程网站架构演变演变过程传统架构 → 分布式架构 → SOA架构 → 微服务架构什么是分布式架构分布式架构就是将传统结构按照模块进行拆分,不同的人负责不同的模块,不会产生代码冲突问题,方便开发。什么是SOA架构SOA架构就是将业务逻辑层提取出来,将相似的业务逻辑形成一个服务,提供外部访问接口,服务之间访问通过RPC调用实现。什么是微服务架构微服务类似于SOA架构,但是比SOA架构粒度更细,更轻量。微服务架构与SOA架构区别SOA基于WebServ转载 2020-07-03 14:15:08 · 2251 阅读 · 1 评论 -
分布式系统(微服务架构)的一致性和幂等性问题
幂等性:多次操作返回结果一样一致性:多个副本数据一致幂等性的实现方案分布式系统(微服务架构)的一致性和幂等性问题相关概念解析原创 2020-05-05 21:07:34 · 972 阅读 · 0 评论 -
如何判断一个浮点数是否为0
<cfloat>中有定义DBL_EPSILON为与1.0最接近的差值EPSILON被规定为是最小误差,换句话说就是使得EPSILON+1.0不等于1.0的最小的正数,也就是如果正数d小于EPISILON,那么d和1.0相加,计算机就认为还是等于1.0,这个EPISILON是变和不变的临界值。 double dd = sin(3.141592653589793 / 6)...原创 2019-12-11 15:27:02 · 2213 阅读 · 0 评论