自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 数据库操作方面的一点认识

历史问题市面上有非常多的数据库,本来我们是需要根据不同的数据库学习不同的API,极不方便。ODBC的诞生ODBC是 Open Database Connectivity的英文简写。它是一种用来在相关或不相关的数据库管理系统(DBMS)中存取数据的,用C语言实现的,标准应用程序数据接口。通过ODBC API,应用程序可以存取保存在多种不同数据库管理系统(DBMS)中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口。JDBC(Java Data Base Connectivity)诞生由于j

2020-09-07 20:42:14 137

原创 重新搭建springboot与mybatis的过程

最近准备选调,Java落下了不少,抽空复习一下,电脑是全新的,什么环境都没有,现在从0开始。java环境(jdk)配置JAVA_HOME,添加环境变量到JAVA_HONE的bin在idea中的sdk就是这个jdk的路径maven环境config下的setting的修改,一个是本地maven库,一个是下载jar包的服务器镜像配置。< alimavenaliyun mavenhttp://maven.aliyun.com/nexus/content/groups/public

2020-09-07 16:49:16 179

原创 智能合约实现众筹

pragma solidity >=0.4.22 <0.7.0;contract zhongchou{ uint NeederId; mapping(uint => Needer) Needers; struct Needer{ address neederAddress; uint needMoney; uint nowMoney; uint FunderId;

2020-06-17 15:11:32 828

原创 再次搭建Dapp

在19年年末,学过一些关于搭建区块链网络的知识,但是随着时间的推移,也把这些知识从我脑海里面冲刷得一干二净,现在需要做一个demo,从头开始一步一步走起吧,现在记录在这里,以忘了再回头看。golang是搭建区块链底层的语言为什么单独拿出来说,博主最近在做车联网和区块链的融合课题,老板叫我做一个简单的demo,想着手动用纯golang实现(有其他的研友用的golang实现了区块链的简单功能),后来实现的过程中需要有udp的通信,好不容易在我以前博客里面找到了udp过程的传输,但是呢,在我最后要去广播的.

2020-06-06 16:09:42 235

原创 动态规划题目

此类题目一般用于求有多少种方法居多,由于具有重叠子问题,所以采用自下而上的方式进行求解,需要定义最终的停止条件,状态转移方程等比如在0-1背包问题中,要求最后的最优解,那么我们将C一步一步扩大,设定的矩阵是m*C+1,m代表物品的个数,那么dp[i][j]就表示在只有j容量的情况下,i个物品的最优解,最后右下角的值就是全局最优解。现在是状态转移方程,动态规划的核心都有一个要么要这个A,要么不要这个B,两种情况为事件整体。针对背包问题,如果当前背包容量能容纳i这个物品,那么就要考虑放不放,最后求最大值。

2020-05-15 21:57:22 113

原创 juc

原始的写线程方法:现在的写线程方法:在使用synolize解决同步问题正式篇:lock(接口)的使用:三部曲lock的实现类:分别是可重入锁,可重入锁的读锁和写锁Java默认是非公平锁现在的问题是lock锁和synchronize的区别在哪;synchronize 是Java内置的关键字,Lock是java类synchronize无法获取到锁的状态,而lock可...

2020-04-26 21:03:06 191

原创 linux基本操作(virbox+CentOS)

退回到根目录: cd /打开某文档 vi 文档路径编辑文档 i退出 esc + :wq(保存退出) :q!(直接退出)回到家目录 cd ~

2020-04-21 09:42:33 175

原创 docker的初次使用

参考视频雷丰阳的springboot教程(bilibili)使用docker的目的为了方便多人重复性走下载安装的老路。安装的软件: centos7-atguigu.ova SmarTTY-2.2下载地址食用过程要点docker search ***(在docker hub中搜索镜像)docker pull *** (下载镜像(相当于程序的安装文件,镜像安装之后就是一个容器...

2020-04-19 23:28:59 158

原创 前端的小知识点

npm(node package manager)是node包管理工具,相当于后端的mavennpm init(让该包交给npm管理)产生出来的信息就像pom文件过程需要自己交互,所以有便捷的指令 npm init -y配置镜像(淘宝)后再安装包(不然很慢),然后package.json(相当于后端的pom文件)中就会出现该依赖的dependencyeasy mock 是前端的...

2020-04-15 18:02:06 106

原创 ES6中的语法

var和let的区别 作用域不同,let有局部作用域 实例化次数不同,let仅可以实例化一次 变量的实例化与使用的(是否存在范围提升)常量const http requrre(“http”)数组解构var [x,y,z]=[1,2,3]对象解构let {name,age}=user模板字符串var name = ‘helen’var str = hello...

2020-04-15 17:23:13 91

原创 mysql的一些规范

如果长度差不多,不要用varchar,因为使用varchar的时候先要计算你的字段长度再分配空间,id(雪花算法19等)varchar是可变长度的字符串,但是长度不要大于5000,如果大于5000,考虑用...

2020-04-14 22:04:54 98

原创 mybatis_plus的一些笔记

分布式id生成策略在分布式条件下,会横向拆表(将单一的表的记录超过500的部分形成一个集群中的表)这时候简单的自增就不能满足,所以要用到分布式id生成策略,雪花算法是mybatis_plus自带的,不需要配置共19位,其他id生成策略id策略也可以自配置,aoto就是自增长,另外str的目的是因为在js中的最大的long类型是16位,超过16位(雪花算法是19位)的会四舍五入。另外还有一种...

2020-04-14 21:49:55 140

原创 使用logstash将数据库中的数据转到elasticsearch中

主要是配置,配置要配对,input { jdbc { jdbc_driver_library => "F:\\logstash-6.2.4\\logstash-6.2.4\\mysql\\mysql-connector-java-8.0.18.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connectio...

2020-04-07 18:30:24 233

原创 Spring Aop的引入

介绍为什么要用到Aop,在我们以前的开发中,加入一个转帐的功能,一共需要开启五个事务,这5个事务就会有与数据库使用jdbc技术(步骤1新建链接,2,链接数据库3.准备数据库执行语句,4,开始执行,5,返回结果6,结果处理,7,释放链接)但是如果中间有出现异常的话,就会造成异常之前的事务处理成功,异常之后的事务执行失败,其根本原因是这个转账业务应该同一写到统一的线程中,由线程进行创建链接,全局...

2020-03-28 10:55:38 832

原创 Spring事务-基于xml和注解

事务应该有aop,步骤是事务管理器配置(这个事务管理器是spring提供的)配置事务的通知<tx:advice id="txadvice" transection-manager = "transectionManager">配置aop<aop:config> //配置切入点表达式 <aop:pointcut id="pt1" expre...

2020-03-28 10:54:53 283

原创 jdk的动态代理2

基于接口的动态代理(jdk动态代理)有一个致命的缺点,就是被代理对象必须要实现一个接口,不然无法实现动态代理。为了解使得一般的对象也能被代理,引出了基于子类的动态代理:cglib的动态代理步骤: 创建maven工程,导入依赖 <dependencies> <dependency> <groupId>cgli...

2020-03-27 21:56:11 79

原创 spring中jdk的动态代理

被代理对象的接口package JdkCglib;/** * Code by langlang on 2020/3/27 */public interface Produce { public void produce(); public void sell(Float money);}被代理对象:package JdkCglib;/** * Cod...

2020-03-27 19:39:54 123

原创 springboot整合junit原理

问题描述:junit的使用场景是针对测试人员使用的,但是需要注意的是junit不会和Spring的ioc主动挂钩,junit只会关心@test注解,然后只关心里面的运行,所以在进行单元测试的时候,需要每次都进行xml或者注解形式的ioc引入,这样会造成代码的冗余。解决思路需要注意的一点:我们平时的执行方法是一定要有main方法入口的,而junit没有main方法分析@Test注解,...

2020-03-27 12:52:12 548

原创 springmvc的一些知识点

数据校验在前端传入数据的时候spring是不知道数据的格式的,由于模型与表单绑定了,所以只要在模型中指定数据的格式已经类型即可。JSR303的使用需要在将pojo作为传参的前面加上@valid注解,另外pojo上面加上检测注解即可jdbc的实现过程:1.注册驱动Drivermanager.register(new com.mysql.jdbc.Driver());//或者是clas...

2020-03-26 18:29:27 100

原创 关于springMvc的一些知识点

1.使用thymeleaf的th:@{链接}原因是,当我们在配置文件中设置了server.context-path后,以后的项目的路径必须要带上这个路径,而thymeleaf自动就加上了。restful风格左边是通过get请求回显数据,注意表单中的modelAtrribute,点击链接进入获取所有列表,get方式,...

2020-03-26 11:11:08 73

原创 Spring @ModelAttribute

这个注解的作用是在进行handler之前进行初始化操作,比如我们要表单回显,我们需要根据id获取到数据,然后再进行修改,我以前的做法是点击链接后获取到数据并渲染显示,而现在的话是可以分开的, @ModelAttribute public void init(Model mode) { PojoTest pojo=new PojoTest(null, "小明", "...

2020-03-26 10:54:13 98

原创 springboot的自动配置原理

通过这个选择器选择需要自动配置的组件返回配置信息。这里是一个关键,这里是拿到候选的配置。这里是通过工厂方法名获取到候选配置信息。说明自动配置是通过工厂模式实现的/这里的意思是所有以enableAutoConfigration类。...

2020-03-25 18:44:04 79

原创 spring的事务传播与事务隔离级别

事务传播在具有事务的方法调用中存在其他的事务,这时候就出现了事务的传播,比如现在我有100块钱,买书,一本60一本50,买的时候需要库存也减少,那么买书的时候也是事务,库存较少也是事务,这就是事务的传播,事务传播的方式有7种,重要的有两种,用propogetion=require和require_new前者是一直在同一事物,后者是之前的挂起,开启新事物,那么前者就是总体一致性,后者是局部...

2020-03-25 18:14:36 74

原创 java包装类的作用和意义

在list中的add方法中的参数是需要传入object类型的,而数字是值类型,所以需要包装类。方便数据之间的转换,比如说string转int,如果是值类型是没办法转的,有了包装类的valueof toInt等方法才能实现互转将基本数据类型的数据包装成为包装类后,就可以利用包装类的各种方法,这里面最常用的就是对数据类型的转换,而其中最常用的还是整型与字符串型之间的转换:1)整型转换成为字符...

2020-03-24 12:48:02 1088

原创 springboot的配置文件

配置文件的目的是解决我们项目中可能存在的一些自定义的数据防止重复的更改的数据,springboot自带的配置文件applicatiom.properity的配置文件使用有两种方式:用valuecom.dudu.name="嘟嘟MD"com.dudu.want="祝大家鸡年大吉吧"@RestControllerpublic class UserController { ...

2020-03-24 09:43:13 101

转载 java基础容易混淆的知识点

关于默认访问权限默认访问权限,也称友好访问权限 没显示指定为哪种访问权限( public、protected、private )。如果要访问默认权限修饰的类成员,只能与此类在同一个package中, 即使其子类也必须满足此条件。类成员是默认访问权限当子类和父类在同一个包中时,子类继承父类中不是private的成员。但是,当子类和父类不在同一个包中,父类中的private和友好访问权限的成员...

2020-03-01 21:52:24 108

原创 算法题编程scanner的使用

Scanner是SDK1.5新增的一个类,可使用该类创建一个对象。 Scanner reader=new Scanner(System.in);  然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型   next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot() ...

2020-03-01 11:58:07 321

原创 无法上网的策略

分情况是主机到家用路由器(网关)的问题,还是到外网的问题 第一步搜索网关的地址,双击这个以太网,详细信息中查看 第二步:ping这个地址 第三步:ping外网 www.baidu.com 第四步:如果是用的wifi然后就需要ping 这个地址 -t -l 65500 代表一直ping,(65500代表最大的包)如果这个延时不断变化,就是需要换一...

2020-02-29 16:59:13 1408

原创 springboot项目的快速打包

以前的打包是按照这篇博客来打的包:Idea工具将SpringBoot项目打成可执行jar包后面我看尚硅谷的视频发现有更好的打包方法:点击左右角的,点击maven的packet,就可以执行打包需要注意的是一定要是springboot项目,因为springboot项目会自动生成: <build> <plugins> &lt...

2020-01-09 13:11:09 274

原创 springboot的生产环境、测试环境的配置

之前的时候没有用到生产环境等等,遇到的问题是当我需要修改我的代码里面的变量的时候,就需要全盘地去修改,想到在application.properties中写入全局变量去做,但是这样的话需要其他的conponent注解到类上去indexPath=D:/lucene_index/happy6@Componentpublic class ConstantInPro { @Value(...

2020-01-09 13:03:52 623

原创 golang并发版的爬虫

package mainimport ( "fmt" "io" "net/http" "os" "strconv")var( spiderchan = make(chan bool))func main() { //爬取一个网页并保存在文件中 var start,end int fmt.Println("请输入要爬取的起始页(>=1)") fmt.Sca...

2019-12-13 18:37:45 184

原创 golang的http

package mainimport ( "fmt" "net/http" "os")func handlefunc(w http.ResponseWriter,r *http.Request) { //读取文件}//获取资源func getResouce(w http.ResponseWriter,r *http.Request) { //需要路径获取文件 f...

2019-12-13 18:07:19 69

原创 golang爬虫串行版本

package mainimport ( "fmt" "io" "net/http" "os" "strconv")func main() { //爬取一个网页并保存在文件中 var start,end int fmt.Println("请输入要爬取的起始页(>=1)") fmt.Scan(&start) fmt.Println("请输入要爬取的起始页...

2019-12-13 18:05:28 143

原创 golang的群聊功能

package mainimport ( "fmt" "net" _ "net/http")//首先实现用户上线的功能,最后是用户修改自己的名字var( //用chan进行读取 //alladdr = make(chan net.Addr,100) onlineMap map[string]User //Message = make(chan map[net.Addr...

2019-12-12 20:27:35 306

原创 golang文件的发送接收

sendpackage mainimport ( "fmt" "io" "net" "os")func sendfile(conn net.Conn,path string) { f,err:=os.Open(path)//读打开的文件 if err!=nil{ fmt.Println("os open err",err) } defer f.Close() b...

2019-12-11 21:51:34 643

原创 golang的udp编程

Serverpackage mainimport ( "fmt" "net" "time")func handle(conn net.UDPConn) { defer conn.Close() buff:= make([]byte,4096) for{ n,udpAddr,err2:=conn.ReadFromUDP(buff)//udpAddr是客户端的地址结构 ...

2019-12-11 20:31:22 243

原创 golang并发版本的tcp

serverpackage mainimport ( "fmt" "net" "strings")func hanledata(conn net.Conn) { //一直预备读数据 defer conn.Close() addr :=conn.RemoteAddr() fmt.Println("连接上客户",addr) buff := make([]by...

2019-12-11 16:12:44 328

原创 golang的tcp编程

Server端package mainimport ( "fmt" "net")func main() { //创建链接的套接字socket,监听地址和端口 listener,err :=net.Listen("tcp","127.0.0.1:8000")//指定服务器的ip地址和端口号 if err !=nil{ fmt.Print("尝试监听客户端失败") ret...

2019-12-11 15:44:54 115

原创 golang中超时处理

package mainimport ( "fmt" "time")func main() { ch1 := make(chan int) quit := make(chan bool) go func() { for{ select { case <-ch1: fmt.Printf("读取到数据\n") break case &l...

2019-12-10 21:43:39 364

原创 channel中的select

package mainimport ( "fmt" "time")func main() { ch1 := make(chan int,5) quit := make(chan bool,1) go func() { for i:=0;i<5 ; i++ { ch1<-i time.Sleep(time.Second) } close(c...

2019-12-10 21:10:00 219

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除