线程 笔记java 11
程序员修炼之道:从小工到专家阅读笔记
程序员要勇于承担错误,这意味着在编程过程中,我们需要敢于面对和解决出现的问题。以下是一些关于勇于承担错误的建议:诚实面对错误:当发现程序中的错误时,不要试图掩盖或忽视它们。诚实地面对问题,承认自己的错误,并寻求解决方案。分析错误原因:在解决问题之前,首先要了解错误发生的原因。通过查看日志、调试代码等 ......
程序员修炼之道:从小工到专家阅读笔记2
做程序要及时亡羊补牢修复,这意味着在编程过程中,我们需要时刻关注代码的质量,一旦发现潜在的问题或错误,立即进行修复。遵循编码规范和风格指南,编写易于维护和阅读的代码。这样可以降低出错的可能性,并在出现问题时更容易进行修复。在发现问题时,及时与团队成员沟通,分享自己的发现和解决方案。这样可以提高整个团 ......
java.net.ConnectException: Connection refused: no further information
java.net.ConnectException: Connection refused: no further information at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_91] at su ......
《代码大全》阅读笔记02
第三章 软件创建的先决条件 一. 前期准备的重要性:在本节中主要讲述了前期准备在整个软件开发过程中的重要性。 创造出高质量的项目的实践方法是在项目的前期,中期和后期都强调质量。项目的后期主要是测试,只是质量保证的一个策略,虽然会发现一些Bug,但是类似“程序的结构错误”,“使用错误的方法制造了这个产 ......
日常记录--day11--2023-9月27日--周三
日程:今天只有上午有节英语课,睡过头了,9点20才起床,怕赶不上就没有吃早饭。中午小睡半个小时,下午没课,起来学习了一下Javaweb,预习了数据结构,锻炼了一下,晚上7-9点继续javaweb。 学了什么:可恶的Javaweb,继续学习Javaweb。 PS:不想学习,想要成为餐巾纸; ......
java方法实践
截取2个指定字符之间的字符串 public String splitData(String str, String strStart, String strEnd) { String tempStr; tempStr = str.substring(str.indexOf(strStart) + 1 ......
面试之Java八股文
面向过程与面向对象 面向过程 顾名思义,注重过程。解决问题时按步骤一步一步来,在程序中体现为按照一定顺序执行方法 优点:效率高,无需类加载、对象实例化 缺点:程序耦合度高 面向对象 顾名思义,注重对象。解决问题时先抽象出场景中的对象(实体类),给其添加属性和方法,让对象去执行方法 优点:程序易维护、 ......
9.27日Java动手动脑练习
1 public class Main { 2 public static void main(String[] args) { 3 Foo obj1=new Foo(); 4 Foo obj2=new Foo(); 5 System.out.println(obj1==obj2); 6 } 7 s ......
《软件工程:一种实践方法》阅读笔记二
《软件工程:一种实践方法》是一本经典的软件工程教材,它以系统化的方式介绍了软件工程的核心概念和方法。读完这本书后,我对软件工程的理解更加深入,同时也获得了许多实用的技巧和经验。首先,这本书强调软件开发应该是一种工程化的过程,与传统的手工制作相比,它需要使用科学的方法和规范化的流程来确保产品质量和项目 ......
Java数据类型
Java数据类型 摘自狂神说java的PPT 什么是字节 1bit表示一位 1Byte表示一个字节 1024B=1KB 1024KB=1M 1024M=1G ......
java数据类型拓展
java数据拓展 public class demo3 { public static void main(String[] args) { //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i1=10; int i2=010; int i3=0x10; System.out ......
《架构师之路:软件架构之美》第二章读书笔记
第二章的主题是 "Programming Paradigms"(编程范式),该章讨论了不同的编程范式以及它们如何影响软件架构的设计。以下是该章的一些主要观点和内容: 编程范式概述:该章首先介绍了编程范式的概念,说明了编程范式是一种编程风格或方法论,它影响了代码的组织方式和设计方式。 常见的编程范式: ......
猫树 学习笔记
猫树是什么? 猫树,是 immortalCO 在 这篇文章 提出的一种类似线段树的数据结构。猫树可以处理支持结合律的信息,如区间最大值、区间最大子段和、区间 \(\gcd\) 等。在维护的信息可以 \(\mathcal{O}(k)\) 合并时,猫树能用 \(\mathcal{O}(kn\log n) ......
Java多线程实现生产者与消费者模型
java多线程实现生产者与消费者模型 //测试类 public class TestPC { public static void main(String[] args) { SynContainer container = new SynContainer(); new Thread(new Pr ......
Java实现跳表
在这里记录自己查询网上资料后自己实现的JAVA版本跳表的代码,比较简陋。实现过程中遇到个低级错误,在方法内部尝试修改实参引用的指向是无效的(实际上修改的是形参指向,方法内部只能修改实参指向的具体内容,无法修改实参指向),以后一定切记。 public class SkipList { private ......
Java网络编程NIO实现简易多人聊天室
BIO模型 BIO即blocking IO,顾名思义是一种阻塞模型。当没有客户端连接时,服务端会一直阻塞,当有客户端新建连接时,服务端会新开一个线程去响应(不用多线程的话服务端同一时刻最多只能接收一个连接)。但不断的新开线程对服务器的压力是巨大的,为了缓解压力可以采用线程池技术实现线程复用,但这种做 ......
梦段代码阅读笔记02
1、对该项目的人的认识 不得不承认的一点是,这个项目的基础特别棒,在万众瞩目下开启开发的旅程,历时七年,在完工之际,已经没有人为之喝彩; 项目团队人人都很优秀,在我眼里,他们不仅仅是久远时光里的一个出名的项目团队,他们还是独一无二的编程“疯子”,他们热爱编程、享受编程, 不屑于将自己的精力放在查找前 ......
赛码网编程题--打字(Java全A)
题目描述 小明很喜欢打字,今天小红给了小明一个字符串。这个字符串只包含大写和小写字母。 我们知道,按下CapsLock键,可以切换大小写模式。我们在小写模式时候,同时按下shift+字母键,就能写出大写字母。在大写模式的时候,按下shift+字母键,就能写出小写字母。现在问题来了,给你一个字符串,问 ......
ACAM 学习笔记 | 附 YbtOJ 全部题解
怎么有人现在才学 ACAM 呢。 好像比 SAM 简单挺多啊,也不记得当时是哪里看不懂。 AC 自动机(✔) 自动 AC 机(✘) 概述 ACAM(Aho–Corasick Automaton),是用来解决多模式串匹配的字符串算法。它的结构是个 DAG,其中点表示状态,边表示转移。这一点上各种自动机 ......
Atcoder ABC321 笔记
A - 321-like Checker \(\color{gray}{22}\) 直接模拟 void solve() { int n; cin >> n; int lst = -1; for(int i = n; i; i /= 10) { int u = i % 10; if(u <= lst) ......
Java动手动脑
动手动脑Ⅰ 程序为什么出错:因为构造函数仅有有参构造。如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。 试验 public class Main { public static void main(String[] args) { d n=new d(); System.out.p ......
CS61A: Structure and Interpretation of Computer Programs 笔记
Functions Environment Diagrams:左侧为 Frames,右侧为 Objects。 Name 类似变量名,它们存储在 Frame 中,指向各种各样的 Objects,比如值或函数。一个 Name 同时只能指向一个 Object,但可以改变自身指向,不受“类型”影响(Name ......
舞蹈链学习笔记
Dancing Links X 1. 问题引入 给定一个 \(N\) 行 \(M\) 列的 \(01\) 矩阵 \(A\)(\(N,M\leq 500\)),选出若干行 \((T_1,T_2,\cdots,T_k)\),使得 \(\forall j\in [1,m],\sum\limits_{i=1 ......
【Java】SpringBoot邮件发送实现
Springboot3 邮件发送 哔哩哔哩 萌狼蓝天 微信公众号 萌狼蓝天 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </ ......
JDK安装、java环境配置
JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。 JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包 ......
力扣刷题笔记-06 N字形变换
06 N字形变换 不要混日子,小心日子把你混了 对于题目的理解 比如说,我给一个字符串,LEETCODE,行数为3,然后按照N字形排列,就是下面这个排列方式。排列完之后正常读取,结果就是LCETOEED。这叫做N字形变换。 这个例子里给的行数就是3,往下排三行,然后往右往上走。 chatGPT 思路 ......
延时双删就是操作线程进出数据库经过缓存各删一次
文章目录 1、何为延时双删 2、常用缓存策略 2.1、介绍 2.2、先删缓存后更库 2.3、先更库后删缓存 2.4、使用场景 3、延时双删实现 4、为什么要使用延时双删 5、方案选择 6、延时双删真的完美吗 7、如何确定延时的时间 1、何为延时双删 延迟双删(Delay Double Delete) ......
JAVA 单例设计模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该 ......
java程序,如何打印详细报错堆栈信息
try { System.out.println(1/0); } catch (final Exception e) { log.error("ERROR", "Error found: ", e); log.error("ERROR", "Error found: " + e.getMessage ......