Go之数组和切片 1. 数组和切片数组是具有相同唯一类型的一组已编号且长度固定的数据项序列 切片是内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大package mainimport "fmt"/* append函数会改变slice所引用的数组的内容,从而影响到引用同一数组的其它slice。 但当slice中没有剩 余空间(即(cap-len) == 0)时,此时将动态分配新的数组空间。 返回的slice数组指针将指...
Go之流程语句 1. if语句package mainimport "fmt"/*if语句格式:if 布尔表达式 { 在布尔表达式为 true 时执行}if 布尔表达式 { 在布尔表达式为 true 时执行} else { 在布尔表达式为 false 时执行}if 布尔表达式1 { 在布尔表达式1为 true 时执行} else if 布尔表达式2{ 在布尔表达式1为 false ,布尔表达式2为true时执行} else{ 在上面两个布尔表达式都为false时,执行}*/fun
Go之基础语法 1. 基础数据类型布尔型: 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true整数型: int8 有符号 8 位整型 (-128 到 127) 长度:8bit int16 有符号 16 位整型 (-32768 到 32767) int32 有符号 32 位整型 (-2147483648 到 2147483647) int64 有符号 64 位整型 (-9223372036854775808 到 922337
Spring之面向切面(AOP) 1. 如果没有Spring框架,我们需要在每个service的方法中都添加记录日志的方法,如下:public List<User> findUserList() { System.out.println("execute method findUserList"); return this.userDao.findUserList();}2.有了Spring框架,通过@Aspect注解 定义了切面,这个切面中定义了拦截所有service中的方法,并记录日志; 可以.
Spring之控制反转(IOC) 1. 如果没有Spring框架,我们需要自己创建User/Dao/Service等,如下:UserDaoImpl userDao = new UserDaoImpl();UserSericeImpl userService = new UserServiceImpl();userService.setUserDao(userDao);List<User> userList = userService.findUserList();2. 有了Spring框架,可以将原有Bean的创
Semaphore(信号量)实现应用 package cn.itcast.Demo21.JUC;import java.util.concurrent.Semaphore;public class ConnectPool { // 连接池大小 private int size; // 数据库连接集合 private Connect[] connects; // 数据库连接状态 private boolean[] connectFlag; // 剩余可用连接 private.
分布式唯一ID package cn.itcast.Demo21.algorithm;// 雪花算法生成的id采用long整型存储,即64位=12位序列号+10位机器标志号+41位时间戳+1位符号位public class SnowFlake { // 采用时间戳占用位数 private final static long START_STAMP = 1645581043000L; // 序列号占用的位数 private final static long SEQUENCE_BIT =.
JAVA之日期处理 package cn.itcast.Demo20.日期处理;/** * JAVA8所有日期和时间API都是不可变的并且线程安全的,而现有的Date和 Calendar API中的java.uil.Date和SimpleDateFormat是非线程安全的 */import java.time.*;import java.time.format.DateTimeFormatter;import java.time.temporal.ChronoUnit;import java.util.Dat.