- 博客(98)
- 资源 (5)
- 收藏
- 关注

原创 学习linux指令笔记
关机shutdown -h now 立即关机shutdown -h 1 1分钟后关闭shutdown -r now 立即重启reboot 重启系统sync 把内存数据写入磁盘用户登录和注销
2020-04-28 18:02:40
258
原创 Golang访问Google Sheet
官方文档:https://developers.google.com/sheets/api/quickstart/go?保存好json文件,后续用于访问Google Sheet。按照官方文档的方式,可能在授权部分被卡住。
2025-02-20 18:28:44
421
原创 LightProxy本地代理
前后端联调的一种方式,前后端都部署到测试环境进行联调时,出现问题需要根据日志来定位,十分麻烦,没有在本地debug方便,因此可以使用代理的方式,将浏览器发出的http请求代理到本地起的服务。1、浏览器安装switch omega扩展。左边是要代理的地址,右边是转发的地址。2、Mac安装LightProxy。4、开启lightPorxy代理。3、配置light proxy。5、浏览器插件选择系统代理。
2023-06-28 11:53:04
1477
原创 x509: certificate signed by unknown authority (golang http请求报错)
client初始化时加上t.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
2023-04-14 15:17:26
2490
原创 gomonkey permission denied
电脑里面很可能有多个版本的go,因此首先要找出你的项目使用的go找出项目使用的GO的路径。cd <go的路径>/pkg/tool/darwin_amd64mv link original_linkgit clone https://github.com/eisenxp/macos-golink-wrapper.gitcp macos-golink-wrapper/link linkchmod +x link参考https://github.com/eisenxp/mac
2021-12-01 17:28:50
2615
1
原创 go interface{}类型转换为数组或者切片
func Test_toInt64Slice(t *testing.T) { res, err := toInt64Slice([]int64{1}) fmt.Println(err, res)}func toInt64Slice(actual interface{}) ([]int64, error) { var res []int64 value := reflect.ValueOf(actual) if value.Kind() != reflect.Slice && v
2021-11-30 15:43:18
4681
原创 gorm 强制更新零值字段
先说解决方法,采用map传值err := getReplenishmentRunWaveDefaultSettingSqlCommon(ctx).Where("id = ?", model.ID).Updates(map[string]interface{}{ "channel_id_list": ent.ChannelIdList, "repl_type": ent.ReplType, "contains_oos": ent.ContainsOos, "contains_non_oos"
2021-11-16 17:13:48
1492
原创 go语言写分表脚本
CREATE TABLE `outbound_sku_tab_00000000` ( `id` bigint(20) unsigned NOT NULL COMMENT '雪花算法', `outbound_order_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `sku_id` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `sku_num_picked` int(7) NOT N
2021-08-14 11:26:08
345
原创 数据库命名规范
库名: 以_db为后缀, 例如my_test_db表名: 以_tab为后缀,例如my_test_tab/my_test_tab_00000000字段名: 划线为分隔的小写字母命名,例如create_time索引: 以idx_为前缀,后接各个字段名,例如idx_key1_key2存储过程: 以sp_为前缀,例如sp_execute_topup方法: 以func_为前缀,例如func_get_uid编码使用utf8mb4_unicode_ci 或者 latin1_general_ci如果主键不是有
2021-07-15 17:10:20
294
原创 Go语言面向对象编程
封装type Person struct { Name string age int}Name首字母大写,相当于Java中public修饰age首字母小写,相当于Java中private修饰继承与其说继承,不如称为组合,通过组合的方式实现继承的效果type Person struct{ Name string}type Teacher struct{ person Person}多态go的多态通过实现接口实现package mainimport "fmt"typ
2021-07-05 17:37:31
102
原创 Ubuntu Temporary failure in name resolution 域名解析暂时失败
ping www.baidu.comping: www.baidu.com: 域名解析暂时失败解决方法重启网卡systemctl restart NetworkManager.service
2021-07-05 10:32:35
643
1
原创 Goland依赖包报红
开启gomodule模式export GO111MODULE=on#设置一下代理,方便下包go env -w GOPROXY=https://goproxy.cn,direct为项目添加go.mod#切换到项目所在目录,例如项目WebServercd $GOPATH/src/WebServer#初始化go mod init#下载依赖go mod tidy搞定,绿了...
2021-07-02 23:13:26
1816
3
原创 protoc-gen-micro: program not found or is not executable
裂开,插件没装上导致的。看教程都是go get直接给安装好的,我是go get404,然后直接GitHub下的包,下完忘了安装。。。git clone https://github.com/micro/protoc-gen-micro.git $GOPATH/src/github.com/micro/protoc-gen-micro#到这个插件所在目录cd $GOPATH/src/github.com/golang/micro/protoc-gen-microgo build#ls 查看是否有pr
2021-07-02 17:39:41
2963
3
原创 Ubuntu go-consul集群搭建与服务注册
配置环境curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"sudo apt-get update && sudo apt-get install consul#查看是否安装成功consul其
2021-07-01 23:24:01
376
1
原创 ubuntu配置micro环境
下载git clone https://github.com/go-log/log.git $GOPATH/src/github.com/go-log/loggit clone https://github.com/gorilla/handlers.git $GOPATH/src/github.com/gorilla/handlersgit clone https://github.com/gorilla/mux.git $GOPATH/src/github.com/gorilla/muxgit c
2021-07-01 10:49:19
333
原创 ubuntu 安装go-protobuf并解决部分问题
步骤第一步git clone https://github.com/protocolbuffers/protobuf.git下载完成应该是在/home/当前用户/protobuf第二步安装依赖sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y第三步一cd protobuf./autogen.sh可能会遇到./autogen.sh: 4: ./autogen.sh: aut
2021-06-29 23:27:07
537
2
原创 VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录
没权限就用管理员的方式运行VMware就行了。如果还是不行,就在控制面板->卸载程序->VMware->更改->下一步->修复->重启电脑->再用管理员的方式运行VMware
2021-06-27 18:49:25
747
原创 IDEA无法启动 fail to load JVM DLL
出现的问题电脑上有两个账号,原先是用管理员账号使用的IDEA,现在想用非管理员账号使用,注册表的原因导致非管理员账号启动idea时报错fail to load JVM DLL。解决方法在非管理员账号重新安装Java和IDEA。环境变量删除后重新下载好java再进行配置,再安装IDEA,确保java和idea的位数与操作系统一致,并且idea用管理员模式打开。...
2021-06-27 11:29:49
1037
原创 MyBatis if标签
List<Staff> getStaffByCondition(@Param("text") String conditionText, @Param("type") String conditionType, @Param("gender") String conditionGender,
2021-05-15 16:43:58
475
原创 职责链模式
职责链模式是行为型模式。简单来说就是每个接收者都包含另一个接收者,当这个接受者不能处理该请求时就将任务交给下一个接收者,以此类推。示例采购员采购1、小于5000 班主任审批2、5000~10000 系导主任审批3、10000以上 校长审批 import lombok.*; @AllArgsConstructor@Getter@Setter@ToStringpublic class PurchaseRequest{ private int type;
2021-05-12 10:22:28
99
原创 原型模式(Prototype克隆模式,拷贝模式)
通过new产生对象需要较为繁琐的数据准备或者权限检查,则使用原型模式。克隆和new不同,new出的对象使用的是默认值,克隆的对象与原对象值相同且不会影响原对象的值。public class Sheep impliments Cloneable{ private String name; private Date birthday; //浅克隆 @Override protected Object clone() throws CloneNotSupportedException{ Obje
2021-04-29 14:59:28
162
原创 单例模式 Java实现
单例模式一个类只有一个实例,并且提供一个访问该实例的全局访问点。主要实现方式:懒汉式延时加载、资源利用率高、调用效率低public class Demo{ //用的时候创建 private static Demo instance; public static synchronized Demo getInstance(){ if(instance==null) instance=new Demo(); return instance; }}饿汉式线程安全、调用效
2021-04-28 17:36:51
118
原创 JVM Java虚拟机
方法区各线程共享,存储了每个类的结构信息。方法区是规范,不同虚拟机你实现是不同的,最典型的是永久代和元空间。堆一、新生代(1/3)1、伊甸区(Eden Space)(8/10)2、幸存者0区(1/10)3、幸存者1区(1/10)二、老年代(2/3)三、元空间用于存放JDK自身携带Class,Interface的元数据,即自身运行环境必须的类信息,被装载进此区域的数据不会被垃圾回收器回收,只有JVM关闭才会释放此区域占用的内存。Java8的元空间不在虚拟机中,在本机物理内存。虽然JV.
2021-04-26 17:01:46
133
原创 Java 线程池
主要特点:线程复用,控制最大并发数,管理线程1、降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度。当任务到达时,任务可以不需要等待线程创建就可以立即执行。3、提高线程的可管理性。线程是稀缺资源,如果无限制创建,不仅消耗资源,还会降低系统的稳定性,使用线程池进行统一管理监控和调优。Executors.newFixedThreadPool(int)//固定数量线程Executors.newSingleThreadExecutor();//一线程Executors
2021-04-26 16:48:25
112
原创 Java中常见锁的分类
公平和非公平锁公平锁:多个线程按照申请的顺序来取锁,先来后到。非公平锁:不是按照来的顺序,上来就尝试占有锁,尝试失败再变成公平锁的方式申请锁,可能后申请的线程先获取锁,造成优先级反转和饥饿。ReentrantLock默认非公平锁,可以通过传入boolean来改变。Synchronized也是非公平。可重入锁(递归锁)线程可以进入任何一个它已经拥有锁的同步代码块。一个线程获取到外层方法的锁,再进入该内层方法会自动获取锁,前提是二者锁同一对象。ReentrantLock和synchronized
2021-04-26 16:34:21
139
原创 Java CAS(CompareAndSwap)
CAS比较并交换简介如果线程的期望值和主物理内存的值一样,便将值写入主物理内存,如果不同,本次修改失败,并重新获取值。特点不加锁,并发性强。底层实现汇编:lock cmpxchg使用场景AtomicInteger等类底层就是CAS实现//AtmoicIntegerpublic final int getAndIncrement(){ return unsafe.getAndAddInt(this, valueOffset, 1);}//unsafe.getAndAddInt//
2021-04-26 16:19:45
156
原创 Java lock和synchronized
学习笔记在调用wait和notify之前,需要先用synchronized获取对象的Monitor同理使用await和signal之前需要先加锁.lock和synchronized的区别1、原始构成synchronize是Java关键字属于JVM层面使用monitorenter和monitorexit实现(底层是通过monitor对象来完成,wait、notify也是依赖于monitor对象,因此只有在同步块或者方法中才能调用)lock是具体类(java.concurrent.locks.l
2021-04-26 16:06:53
200
原创 Java PriorityQueue
编程时遇到的bug大顶堆//怎样写是错的,极端情况 Integer.MAX_VALUE和Integer.MIN_VALUE,这样写判定Integer.MIN_VALUE更大maxHeap=new PriorityQueue<>((a,b)-> b-a);maxHeap=new PriorityQueue<>((a,b)-> b>a?1:-1);...
2021-02-03 10:58:03
153
1
原创 静态代码块、匿名代码块、构造函数执行顺序
测试一public class Person { { System.out.println("匿名代码块"); } static{ System.out.println("静态代码块"); } Person(){ System.out.println("构造函数"); } public static void main(String[] args) { new Person();
2021-01-07 21:38:32
208
原创 抽象类和接口
抽象类和接口/** * 约束 * 不可new对象 * 只能单继承(本质是类) */abstract class AbstractClass { int a=10; //只有方法名没有方法体 //抽象方法只能写在抽象类中 public abstract void run(); //普通有方法体的方法也可写在抽象类中 public void work(){ System.out.println("普通方法"); }}/*
2021-01-07 21:34:04
128
原创 Java 面向对象 OOP
面向对象本质OOP以类的方式组织代码,以对象的形式组织(封装)数据。三大特征封装 该藏的藏,该露的露。禁止直接访问一个对象中数据的实际表示,而是通过操作接口来访问,就是所谓信息隐藏,例如:int age;用private修饰,获取时用get/set方法。class Person{ private int age; public int getAge(){ return this.age; } public void setAge(int age)
2021-01-07 21:21:40
152
并发服务的网络运算服务器程序.zip
2021-07-07
编译原理MYSQL简易解释器
2021-07-07
文件传输系统 java b级测试
2020-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人