java
ForzaUbuntuer
学习总要有点产出
展开
-
同步、异步、阻塞与非阻塞
也就是说,同步/异步是“下载完成消息”通知的方式(机制),而阻塞/非阻塞则是在等待“下载完成消息”通知过程中的状态(能不能干其他任务)以小明下载文件打个比方,从这两个关注点来再次说明这两组概念,希望能够更好的促进大家的理解。,在不同的场景下,同步/异步、阻塞/非阻塞的四种组合都有应用。,所以在异步机制中,原创 2023-08-31 00:32:06 · 87 阅读 · 0 评论 -
怎么理解里氏替换原则
里氏替换原则原创 2023-03-02 23:59:25 · 86 阅读 · 0 评论 -
Google Dapper的一些术语
Google Dapper的一些术语原创 2023-02-02 00:17:23 · 154 阅读 · 0 评论 -
使用Zookeeper作为注册中心的问题
使用Zookeeper作为注册中心的问题原创 2023-01-25 21:44:28 · 204 阅读 · 0 评论 -
如何理解微服务和云原生
微服务就是一些协同工作的小而自治的服务微服务的优点:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展出的应用云原生应用要求:原创 2023-01-25 19:50:46 · 139 阅读 · 0 评论 -
解析jar包结构
解析jar包结构原创 2023-01-25 19:47:30 · 147 阅读 · 0 评论 -
Maven的依赖管理
作为一名Java开发工程师,maven再熟悉不过了,但是往往这种基础的东西,很多人却对它没有一个相对清晰的认识。这个问题从以下几个方面作为切入点。原创 2023-01-22 00:53:43 · 204 阅读 · 0 评论 -
Java 提供的默认排序算法
Java 提供的默认排序算法原创 2022-10-19 23:40:40 · 618 阅读 · 0 评论 -
Java对象的内存结构
Java对象的内存结构原创 2022-10-19 23:35:46 · 870 阅读 · 0 评论 -
浅谈单例模式、Spring单例Bean和单例池的区别
单例模式单例模式是指在一个jvm进程(运行的Java程序)中仅有一个实例。Spring单例BeanSpring单例是指一个Spring Bean容器(ApplicationContext)中仅有一个实例。同时同一个容器中类型相同但是名称不同也会是不同实例。单例池底层是CurrentHashMap,是实现SpringBean单例的手段。...原创 2021-08-17 16:35:45 · 815 阅读 · 0 评论 -
最最完整的redis工具类(redis工具类,用这个就够了)
@Service(value = "redisCacheUtil")public class RedisCacheUtil { @Autowired private RedisTemplate<String, Object> redisTemplate; /** * 添加有序集合 * @param key * @param score * @param val * @param time */ pu原创 2020-11-10 09:24:45 · 1167 阅读 · 2 评论 -
Android Studio 报SDKRelativeJNI错误
被公司临时抽调,负责安卓app的开发…这个错误的原因是该程序必须要用安卓真机来运行,不能使用虚拟机!原创 2020-09-20 22:23:37 · 119 阅读 · 0 评论 -
自己对redisTemplet进行封装
代码如下,懂的不需多言!import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Service;import org.springframework.util.CollectionUtils;import java.util.List;im原创 2020-08-19 23:53:39 · 176 阅读 · 0 评论 -
浅谈:缓存雪崩,缓存穿透,缓存击穿
缓存可能出现的问题1.缓存雪崩在同一时间内,缓存集体过期.解决方式:放入缓存的时间随便2.缓存穿透查询条件在数据库中找不到,在缓存中也找不到,会一直访问数据库解决方式:1.把结果为空的值也放入到缓存中,设置过期时间短一点,多次用该条件进行查询,应该列为黑名单2.用布隆算法,把所有查询条件穷举(穷举把各种可能的情况都走一遍,使用if条件筛选出满足条件的情况)出来,放在hash表中.每次查询先在hash表中查询,如果没有就拒绝3.缓存击穿缓存过期,全部转向数据库,用互斥锁来阻止线程直接访问数原创 2020-08-19 23:35:11 · 106 阅读 · 0 评论 -
浅谈JAVA的事件委托机制和垃圾回收机制
java 事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器 那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被 接受,监听器将处理这个事件,然后返回。垃圾回收机制 垃圾收集是将分配给对象但不再使用的内存回收或释放的过程。 如果一个对象没有指向它的引用或者其赋值为 null,则次对象适合进行垃圾回 收...原创 2020-08-09 11:51:04 · 203 阅读 · 0 评论 -
浅谈JavaScript中this的指向
浅谈JavaScript中this的指向1.默认指向,this默认指向的是window对象console.log(this);//打印的是window2.函数调用时2.1独立调用,this指向window对象function test(){ console.log(this);//打印的是window}window.test();//简写test()2.2函数作为某个对...原创 2020-03-25 13:35:59 · 161 阅读 · 0 评论 -
配置idea导出war包
配置idea导出war包首先打开File选项下的Project Structure1.注意Java版本2.Deployment Descriptors部署描述器 地址为.xml的地址,下面一个框为项目的根目录3.Libraries这一项添加WEB-INF下的lib文件夹(lib文件夹为自己创建,classes也是自己创建的)4.Facets添加选择Web5.Artifacts这一...原创 2020-04-08 22:16:44 · 214 阅读 · 0 评论 -
用idea启动tomcat的项目成功,但localhost:8080打不开的解决方法
用idea启动tomcat的项目成功,但localhost:8080打不开其实解决很简单,在Edit Configurations里面选择Deployment,把tomcat的ROOT文件夹加进去,然后把路径设置为/根目录原创 2020-05-11 15:23:58 · 4071 阅读 · 3 评论 -
优化where字句
优化where字句1改变where条件的顺序并没有提高查询的效率2.like语句优化不要在关键字前面加%,这样无法使用索引(type=ALL),会导致全表扫描3.使用union all 来替代or条件使用or关键字无法使用索引,会导致全表扫描4.不要是用不等于符号(!=或<>)5.不要使用in或not in1.如果in的条件是连续的,用between … and来替代in2.用exists替代in,用not exists替代not in (not in是最低效的)3.用lef原创 2020-05-28 15:38:31 · 300 阅读 · 0 评论 -
explain sql语句中的type
explain sql语句中的type1.all 全表扫描2.index 按照索引的全表扫描3.range 有范围的索引扫描4.ref 该索引的列的值不唯一5.ref_eq 该索引的列的值唯一,使用主键或者唯一性索引来查找原创 2020-05-28 15:39:23 · 631 阅读 · 0 评论 -
静态static和构造函数的区别(基础知识的查漏补缺)
静态static和构造函数的区别(基础知识的查漏补缺)1.什么是构造函数一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法2.什么是静态static在某些时候,我们希望该类所有的对象共享同一个成员, Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。3.Java中static和构造函数的执行顺序父类静态块 -> 子类静态块 -> 父类构造块 -> 父类构造函数 -> 子原创 2020-08-09 10:57:25 · 531 阅读 · 0 评论