《Maven 实战》笔记 当项目需要被其他项目引用时,使用 mvn clean install 安装到本地仓库,其他项目就可以引用该项目。 我们打包的默认 jar 包不能直接运行的,因为带有 main 方法的信息类不会添加到 mainfest 中( jar 文件中 META-INF/MANIFEST.MF 文件,没有 Main-Class一行)。为了生成可执行的 jar 文件,需要借助 maven-shade-p 2021-08-20 学习笔记 #Maven
Collection 笔记 判断线程安全类的准则当需要在多线程环境下,使用一些类时,我们首先就需要判断当前类是否是线程安全的,否则出现线程安全问题。 准则一 最直接,方便的准则就是查看类的源代码注释,上面提到的集合类都在注释声明了该类不是线程安全的。查找注释的时候可以直接搜索 Thread或者 synchronize关键字。 准则二 查看有没有使用同步语句:java.util.concurrent.* / synchroni 2021-08-18 学习笔记 #Collection
Code Specification 使用条件语句if 语句原则一:要使得正常情况执行代码过程清晰,优先考虑代码正常执行情况。 原则二:不要用 “>” 代替 “>=” 或用 “<” 代替 “<=”。 原则三:正常情况的处理放在 if 后面而不是 else 后面(保证能快速找到代码正常的执行过程)。 原则四:if 子句后面跟随一个有意义的语句,避免空语句。 if-else if-else 语句 2021-08-16
String 首先我们要有一个概念,互联网基本上就只干一件事「处理字符串」。我们看的纷繁复杂的网页,都是通过字节传输的,然后经过一个指定的编码转化成人类能看懂的字符串。因此能处理好字符串是 Web 服务器的基本要求,像 Java,PHP,Python,Ruby等。 String 的不可变性背过一些八股文面试题的人都知道 String 是不可变的,那么问题来了,「不可变的定义是什么?」,「String 是如何保证 2021-08-11 博客专栏 #Java #String
字符串与编码 我们都知道,在网络通信和存储的都是字节流,都是一大串的 0 和 1。不知道大家有没想过,存储既然是 0 和 1,为什么我们看到得都是一个个字符,汉子,英文?是不是计算机在背后偷偷的把字节转化成我们人类能看懂的语言?答案是肯定的。 字符集相关概念既然计算机帮我们把字节转成人类的语言,那么肯定存在着一种映射关系「字节 –> 人类语言的映射」,我们把这种关系称为字符集。把字节转化成人类看懂的字符, 2021-08-07 博客专栏 #Java #字符串
Java 异常体系 在 Java 中,离开方法的手段可以 靠 return 方法返回,而异常是 return 方法之外,离开方法的手段。 在实际工作中,经常会遇到空指针、找不到、文件找不到,等等不计其数的异常情况。那么 Java 中如何处理这些异常呢? try / catch / finally当对一个文件进行写入操作的时候,所使用的 IDE 就会提醒,可能存在异常,需要处理。于是我们按照 IDE 2021-05-27 博客专栏 #Java
初识多线程 在编程学习中,我们都要接触到多线程,多线程会帮系统性能带来很大提升,但是这种提升是风险与收益并存的。因此,学习并掌握多线程原理至关重要。 单线程与多线程既然有多线程,那肯定是有单线程的。那单线程是什么呢?单线程就是在特定时间系统只做一件事,这就和人一样只能「一心一意」,不能「三心二意」。 平时开发中跑的 Java 程序大多都是单应用,对于一些没有什么访问量的系统来说,能勉强支撑。反之,访问量较大的 2021-05-12 博客专栏 #Java #多线程
Java 获取 GitHub PR 消息 项目地址:链接 使用 GitHub API 获取 PR工具包: Apache HttpClient 用来发起 HTTP 请求 Apache Commons IO 将返回的字节流转化成字符串 Jackson Databind 将返回的字符串解析转化成所需对象 访问 GitHub API访问 Github API 文档,找到 List pull requests 该项,根据 API 说明,应当使用 2021-05-11 博客专栏 #GitHub
Java 正则表达式 描述定义:用于描述文本/字符串的一组规则 作用:使用一些自定义的规则来批量处理文本,提取信息 优点:使用很少的代码完成复杂的文本提取工作,提高工作效率 缺点:难学,难懂。在 java 对于正则表达式的支持不太友好,频繁使用会有性能问题。 常见规则元字符 ^ 开始位置 $ 结束位置 . 单个任意字符 \w 单个”word”字符 字母/数字/下划线 2021-04-17 博客专栏 #正则表达式
浅析URL IPip 主要约定了两件事:如何定位一台设备?如何封装数据报文,以跟其他设备交流? 只要我们处在互联网中我们就至少有一个独特的 IP 内网与外网 IP当我们通过家里的路由器进行上网时,实际上网络返回的请求是先到路由器,路由器再转发给我们的设备,路由器就充当我们与外界网络交互的工具。路由器分配给我们设备的 IP 就是内网 IP,一般来说这个 IP 格式都是 192.168.xxx.xxx 。内网中的 2021-04-03 博客专栏 #web