09 2023 档案

摘要:使用mq的优缺点 优点 解耦,生产者与消费者都只需要与mq进行交互,减少了强依赖。 流量削峰,将大量请求放入mq后,服务器可以根据自身能力从mq中拉取消息消费。 异步通信,减少客户端响应时间。 缺点 系统更复杂,运维成本增加。 可用性降低,存在mq服务器宕机的风险。 关键角色 broker,可理解为 阅读全文
posted @ 2023-09-27 21:01 万里阳光号船长 阅读(22) 评论(0) 推荐(0) 编辑
摘要:基本数据类型 string,值是字符串,可配合json存储对象。 hash,值是多个kv对,适合用于存储对象。 list,值是一个列表,元素操作类似双端队列。 set,值是一个集合,不允许重复元素。 zset,值是一个有序集合,不允许重复元素。底层数据结构涉及到跳表。 缓存访问相关 缓存穿透 缓存穿 阅读全文
posted @ 2023-09-27 20:59 万里阳光号船长 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一千瓶药水中有一瓶毒药,毒性在喝下后24小时发作,问至少需要多少只老鼠才能在24小时后得出哪瓶是毒药? 答:将一千瓶药水编号1~1000,对应10位二进制位。让第1只老鼠嘬一口所有二进制编号第1位为1的药水,第2只老鼠嘬一口所有二进制编号第2位为1的药水,依次类推则需要10只老鼠。24小时后如果第1 阅读全文
posted @ 2023-09-27 20:43 万里阳光号船长 阅读(66) 评论(0) 推荐(0) 编辑
摘要:数据库设计三范式 第一范式。任何一张表必须有主键,每一个字段具有原子性不可再分。 第二范式。所有非主键字段完全依赖主键字段,不存在部分依赖(复合主键可能存在此情况)。 第三范式。所有非主键字段直接依赖于主键字段,不存在传递依赖(比如员工表中存在部门编号和部门名)。 注:多对多时建三个表,用关系表存放 阅读全文
posted @ 2023-09-27 20:42 万里阳光号船长 阅读(21) 评论(0) 推荐(0) 编辑
摘要:计算机网络体系结构 OSI体系从下至上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 综合体系从下至上依次为:物理层、数据链路层、网络层、传输层、应用层。 TCP/IP体系从下至上依次为:网络接口层、网络层、传输层、应用层。 一般来说,网卡中封装了物理层和数据链路层的协议与工作 阅读全文
posted @ 2023-09-27 20:40 万里阳光号船长 阅读(28) 评论(0) 推荐(0) 编辑
摘要:linux常用命令 ls,cd,mkdir,rmdir,rm,mv,cp,touch,cat,kill...... more和less都用于分页读取文件(cat不能分页),more是一次读取整个文件然后分页显示,而less是根据显示需要读取内容,故less在读取大型文件(如日志文件)时效率更高。 > 阅读全文
posted @ 2023-09-27 20:40 万里阳光号船长 阅读(6) 评论(0) 推荐(0) 编辑
摘要:面向过程与面向对象 面向过程 顾名思义,注重过程。解决问题时按步骤一步一步来,在程序中体现为按照一定顺序执行方法 优点:效率高,无需类加载、对象实例化 缺点:程序耦合度高 面向对象 顾名思义,注重对象。解决问题时先抽象出场景中的对象(实体类),给其添加属性和方法,让对象去执行方法 优点:程序易维护、 阅读全文
posted @ 2023-09-27 20:38 万里阳光号船长 阅读(20) 评论(0) 推荐(0) 编辑
摘要:java多线程实现生产者与消费者模型 //测试类 public class TestPC { public static void main(String[] args) { SynContainer container = new SynContainer(); new Thread(new Pr 阅读全文
posted @ 2023-09-27 19:40 万里阳光号船长 阅读(26) 评论(0) 推荐(0) 编辑
摘要:在这里记录自己查询网上资料后自己实现的JAVA版本跳表的代码,比较简陋。实现过程中遇到个低级错误,在方法内部尝试修改实参引用的指向是无效的(实际上修改的是形参指向,方法内部只能修改实参指向的具体内容,无法修改实参指向),以后一定切记。 public class SkipList { private 阅读全文
posted @ 2023-09-27 19:39 万里阳光号船长 阅读(29) 评论(0) 推荐(0) 编辑
摘要:知识前景:在java虚拟机的运行时数据中有一块地方叫虚拟机栈,每个线程独有。栈中存放一个一个栈针,每个栈针对应程序中的一个方法,若有main方法则位于最底层。栈针中有一个局部变量表:记录局部变量;和一个操作数栈:便于执行指令操作。 i++和++i的操作不同于其他的赋值和加减乘除等操作,它是直接在局部 阅读全文
posted @ 2023-09-27 19:39 万里阳光号船长 阅读(26) 评论(0) 推荐(0) 编辑
摘要:概念 代理的目标是在不修改现有代码的前提下对方法进行增强,实现在执行方法之前或之后进行某些操作,如日志记录、数据库事务操作等。 静态代理。由我们自己去定义一个代理类,去包含要被代理的类(以下称为目标类),并暴露和目标类一样的方法供外界调用,然后在这个方法里面调用目标类的具体方法,此时就可以在调用目标 阅读全文
posted @ 2023-09-27 19:38 万里阳光号船长 阅读(21) 评论(0) 推荐(0) 编辑
摘要:BIO模型 BIO即blocking IO,顾名思义是一种阻塞模型。当没有客户端连接时,服务端会一直阻塞,当有客户端新建连接时,服务端会新开一个线程去响应(不用多线程的话服务端同一时刻最多只能接收一个连接)。但不断的新开线程对服务器的压力是巨大的,为了缓解压力可以采用线程池技术实现线程复用,但这种做 阅读全文
posted @ 2023-09-27 19:37 万里阳光号船长 阅读(21) 评论(0) 推荐(0) 编辑
摘要:下面是ReentrantLock非公平锁加锁流程: final void lock() { //调用CAS尝试获取锁 if (compareAndSetState(0, 1)) //尝试成功则修改当前拥有锁的线程是自己 setExclusiveOwnerThread(Thread.currentTh 阅读全文
posted @ 2023-09-27 19:36 万里阳光号船长 阅读(53) 评论(0) 推荐(0) 编辑
摘要:终端直接输入命令 java -cp 参数1 org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true 参数2 参数3 参数说明: 参数1。IDEA安装目录下的反编译插件“java-decompiler.jar” 阅读全文
posted @ 2023-09-27 19:35 万里阳光号船长 阅读(2439) 评论(0) 推荐(1) 编辑
摘要:先展示结果 具体步骤 选择导航栏的File -> Settings -> Editor -> Live Templates。 点击右边的加号,先创建一个Template Group(名字随意),选中创建的分组,再点击加号创建Live Template。 在下方的Abbreviation中设置想使用的 阅读全文
posted @ 2023-09-27 19:34 万里阳光号船长 阅读(171) 评论(0) 推荐(0) 编辑
摘要:题目描述 小明很喜欢打字,今天小红给了小明一个字符串。这个字符串只包含大写和小写字母。 我们知道,按下CapsLock键,可以切换大小写模式。我们在小写模式时候,同时按下shift+字母键,就能写出大写字母。在大写模式的时候,按下shift+字母键,就能写出小写字母。现在问题来了,给你一个字符串,问 阅读全文
posted @ 2023-09-27 19:33 万里阳光号船长 阅读(173) 评论(0) 推荐(0) 编辑
摘要:Visual Studio打包windows服务并实现自动注册与开启,详细图文。 阅读全文
posted @ 2023-09-27 19:27 万里阳光号船长 阅读(554) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示