git基础操作-编程思维
一、分支 分支命名规则 开发分支: dev 功能分支:feature/功能名称 bug分支:bugfix/bug名称 预发布分支:release/预发布版本名称 列出本地分支: git branch 列出远程分支: git branch -r 切换分支: git checkout newB 删除本地分支: git branch -d newB 创建分支: git checkout
morethink program
一、分支 分支命名规则 开发分支: dev 功能分支:feature/功能名称 bug分支:bugfix/bug名称 预发布分支:release/预发布版本名称 列出本地分支: git branch 列出远程分支: git branch -r 切换分支: git checkout newB 删除本地分支: git branch -d newB 创建分支: git checkout
Caffeine 是基于 JAVA 8 的高性能缓存库。并且在 spring5 (springboot 2.x) 后spring 官方放弃了 Guava,而使用了性能更优秀的 Caffeine 作为默认缓存组件 一、引入依赖 <dependency> <groupId>com.github.ben-manes.caffeine</groupId>
这篇文章的问题来源于一个读者之前分享的 OPPO 后端凉经,我对比较典型的一些问题进行了分类并给出了详细的参考答案。希望能对正在参加面试的朋友们能够有点帮助! Java String 为什么是不可变的? public final class String implements java.io.Serializable, Comparable<String>, CharSequence
1. 在启动脚本中使用-bootstrap或-Xbootclasspath选项 这两个选项的使用方式如下: -bootstrap选项: java -bootstrap /path/to/your.jar -cp /path/to/your/app.jar YourMainClass -Xbootclasspath选项: java -Xbootclasspath/a:/path/to/y
什么是反射 在说反射概念之前,我们先说另外2个概念:编译期和运行期。 编译期: 编译期是源代码从文本形式转换为字节码的过程,这发生在Java代码被JVM执行之前。 在编译期,编译器对源代码进行语法检查、类型检查、变量名解析等操作,确保代码符合Java的语法规则,并将其编译成字节码(.class文件)。 编译期间的操作基于静态类型信息。编译器只能使用它在编译时了解的信息,而不能知晓运行时的具体情
目录1. 基本数据类型2. 引用数据类型3. 总结 1. 基本数据类型 public class ValueTransferTest { public static void main(String[] args) { int m = 10; int n = 20; System.out.println("交换前:");
目录前身 -- 匿名类lambda 表达式方法引用类名::静态方法类名::实例方法对象::实例方法总结 前身 -- 匿名类 何为匿名类? 没有类名,直接通过new关键字创建这个类的实例 比如:Comparator接口 这是一个单抽象方法的接口,这样的接口被称为函数式接口 public interface Comparator<T> { int compare(T o1, T
摘要:介绍LocalDateTime与时间戳、日期字符串的转换。 目录需求背景LocalDateTime转字符串LocalDateTime转时间戳时间戳转LocalDateTime时间戳转日期字符串结束语 需求背景 服务器部署在不同时区,数据在业务使用过程中,需要进行时区切换,为了不影响数据效果,把各个时区的时间统一为UTC时区。故分享如何实现LocalDateTime与时间戳、日期字符串的
摘要:使用SimpleDateFormat把时间戳转换成指定格式的、指定时区的字符串。 SimpleDateFormat是Java中的一个日期格式化类,继承了DateFormat,可以实现日期时间和时间字符串的相互转换。为了把时间正确地转换成时间字符串,我们需要考虑当前所在时区,而SimpleDateFormat可以通过继承的方法setTimeZone(TimeZone zone)设置时区:
总体主要分为两个方面 ①比较的是值 一、基本数据类型与引用数据类型进行比较时,引用数据类型会进行拆箱,然后与基本数据类型进行值的比较 举例: int i = 12; Integer j = new Integer(12); i == j 返回的是true 二、引用数据类型与基本数据类型进行比较(equals方法),基本数据类型会进行
周末的时候,有一位小伙伴提了一些关于 ConcurrentHashMap 的问题,都是他最近面试遇到的。原提问如下: 整个提问看着非常复杂,其实归纳来说就是两个问题: ConcurrentHashMap 为什么 key 和 value 不能为 null? ConcurrentHashMap 能保证复合操作的原子性吗? 下面我会以此提供这两个问题的详细答案,希望对你有帮助。 Concurr
摘要:System.currentTimeMillis()获取的时间戳与时区无关。 综述 System.currentTimeMillis()经常被用来获取当前时间戳,单位是毫秒,可以用来计算当前年月日或者星期几等,可以方便地与Date进行转换,可以计算某个方法的耗时: long curTime = System.currentTimeMillis(); doSth(); System.ou
摘要:分享获取当前时间戳的五种方法。例如,通过系统时间System.currentTimeMillis() 或日期类Instant.now().toEpochMilli()来获取当前时间戳。 什么是时间戳 在Java语言中,时间戳(timestamp)是一种重要的概念,它是指一个能够表示某个时间点的单一数字,用于精确记录和计算时间,单位是毫秒,类型是long。它通常表示从固定的起始时间点(1
摘要:System.currentTimeMillis()性能问题的研究、测试与优化。 性能优化使用的测试环境: jdk版本jdk8 操作系统: macOS 版本:13.2.1 芯片: Apple M1 CPU核数:8核 System.currentTimeMillis()是Java极其常用的 API,广泛地用来获取时间戳或统计代码执行耗时等,在我们的印象中应该快如闪电。但实
目录综述如何创建List六种数组转List的方法for循环遍历Arrays.asList()new ArrayList<>(Arrays.asList(array))Collections.addAll()stream流collect方法Stream.of结束语 摘要:介绍List接口和创建List对象的三个常用方法,介绍数组转换List的几种方法。 综述 线性列表List是一个
map和flatMap都是对流中的每一个元素,执行入参中的函数式方法,只是在函数式方法的返回值上有区别: map中函数式方法返回值为对象,也就是原始流中有n个元素,处理之后的流中元素个数也是n。即使你在返回的时候返回了多个元素如数组,它也会把数组当成一个对象处理。 flatMap中函数式方法返回值为流,flat为扁平的意思,也就是说,我们可以通过flatMap改变原始流中对象的个数,fla
第一节:方法的参数传递、返回值 Java语言在给被调用方法的参数赋值时,采用传值的方式: 基本类型数据传递的是该数据的值本身。 引用类型数据传递的也是这个变量的值本身,即对象的地址(引用),而非对象本身。 1.1 基本数据类型传递 //类 public class PassValue{ public void change(int x){ x = 100;
一位朋友秋招面试了17家公司(都是中小公司或者银行),Java 后端岗。下面是他的个人情况、求职经验已经这17家公司的面经。 个人情况和求职经验 其实现在是挺后悔大学没有好好的学习的,因为基本上都会提到一些成绩相关的事情,每次填成绩都只能填个50%(实际上更低),并且还有挂科,没有奖学金,没有学生经历,没有竞赛经历,没有实习经历,简历上真的是空空如也,自我介绍的时候也是一分多钟就全部讲完了(有时