自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GoLang之切片

GoLang之切片一、数组的缺陷我们在不使用切片的时候申请数组的时候,一般只能有一下的这些方式:arr := [4]int{1,2,3,4}arr2 := [4]int{}从上面的代码可以看出使用数组的时候我们需要在定义的时候先将数组的大小进行确定,而且这一确定之后该数组的大小便无法改变了,这也就带来了数组的最大的一个问题就是容量无法扩容。当我们在使用数组的时候往往并不能知道这个数组最终会用到多大的空间,空间定义小了则会造成不够用,定义得过分大了则会造成空间的浪费。因此为了解决数组的这一个固有的

2020-09-13 22:42:18 176

原创 springboot的Controller层接收前端页面表单传入数据的三种方法

前端页面通过表单与后台进行数据交换是一种非常常见的方式,以下罗列出后台接收前端用户输入数据的三种方式。先贴一下一个简单的前端代码,输入email与password。<form action="/login" method="get" class="form-horizontal" style="margin-top: 70px"> <div class="form-group"> <label for="inputEm

2020-08-11 17:11:15 15389 4

原创 e厂实习半个月记

前言这个6,7月份真的是一波三折,经历了很多,考研的过程起起伏伏,最终没有去工作还是选择了读研。6月初想着这个暑假能够找个实习,就斗胆投了个????厂的日常实习,没想到还真被录取了。(这个是真的没想到,因为我之前准备的方向是java的后端开发,而众所周知????厂没有java…)但是进来了以后没能延续我之前你的技术栈,从一个java后端被转成一个react+flask的全栈(全干)。之前半个月的确很心累,只能面向谷歌百度编程,终于在最近终于把手头负责的项目搞的七七八八了,也完成了几个简单的需求。下面就分享

2020-07-24 17:11:02 296

原创 JDK动态代理(AOP原理)

动态代理的简单的实现://接口interface Thing { void drive();}//被代理类class Car implements Thing { @Override public void drive() { System.out.println("开始驾驶汽车!"); }}//代理类class MyProxy ...

2020-03-17 22:01:39 179

原创 java线程池简单的执行过程

创建线程的三种方式首先看一下java中创建线程的三种方式:继承Thread类:class MyThread extends Thread { public void run() { System.out.println("我使用继承Thread类的方式创建多线程!"); }}public class Main { public static vo...

2020-03-14 22:46:29 133

原创 对于MyBatis底层实现的一点见解

花了一天的看了一些MyBatis的一些最基本的源码。其实MyBatis在使用起来并没有那么复杂,我使用一般是直接在SpringBoot项目中进行关联,然后对于数据库的四大要素进行配置之后就可以直接使用MyBatis对数据库进行操作。甚至比传统的JDBC需要一步步的创建Connection,Statement,ResultSet还要方便与高效。但是对于底层是如何从xml配置文件中的信息获取到数据库并...

2020-03-13 22:43:40 345 2

转载 Java并发编程:线程池的使用

Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  ...

2020-02-29 09:30:30 114

原创 排序算法总结

排序算法总结1.几种基本的代码实现冒泡排序: /** * 冒泡排序 * @param arr 待排序数组 * @return */ public void BubbleSort(int[] arr) { for (int i = 0; i < arr.length; i++) { for (int j =...

2020-02-26 19:30:22 77

原创 JAVA之Polymorphic(多态)

1.多态的几个必要条件1.有继承关系2.有方法的重写3.父类引用指向子类对象2.多态中类成员的变现情况父类:class Father{ public int num = 10; public String print(){ return "Father的print()方法!"; } public static String stati...

2020-02-08 12:56:33 233

原创 JVM(2):垃圾收集器与gc

1.如何判断对象已死?引用计数算法:我们可以为每一个对象设置一个count引用计数器,每当一个地方引用它的时候,计数器就加1,当引用失效的时候,计数器就减1;当计数器的值为0的时候,就代表着这个对象不会再被使用了,这个时候就可以对该对象进行回收。这个算法十分简单,但是并没有被广泛的使用。因为这个看似简单的原理需要考虑很多例外的情况。可达性算法:这是当前比较主流的判断对象是否应该被回收的方...

2020-02-03 09:24:08 113

原创 JVM(1):虚拟机内存区域与内存管理

1.虚拟机中的内存区域及其功能虚拟机中的内存区域示意图:(1)程序计数器(Program Counter Register):存储的是当前线程所执行到的程序的地址码。也是虚拟机中唯一一个没有规定OutOfMemoryError(内存溢出)情况的区域。为什么每个线程都有一个独有的程序计数器?因为线程并不是从头执行到尾的,而是线程之间不停的进行切换的,因此就需要每个线程都有一个属于自己的程序...

2020-01-30 10:03:22 126

原创 初识MySQL(10)权限控制与安全管理

1.访问控制在比较复杂的数据库系统中,对于各个用户的权限管理是非常重要的,有一些用户可以对数据库进行查找操作,但我们不想让他有对表进行更改的权限。但是有一些用户又需要有更改表甚至创建表与删除表的权限,因此每个用户的权限不能一概而论,应该根据实际情况进行分配。2.管理用户创建用户账号:CREATE USER ben IDENTIFIED BY '123455';CREATE USER语...

2020-01-27 18:18:36 203

原创 初识MySQL(9)管理事务处理

1.几个相关概念事务:指一组SQL语句。回退:指撤销指定SQL语句的过程。提交:指将未存储的SQL语句结果写入数据库表中。保留点:指事务处理中发表的临时占位符,可以对它发布回退。2.控制事务处理管理事务处理的关键在于将SQL语句分块,并明确规定数据何时应该回退,何时不应该回退。使用ROOLBACK:SELECT * FROM ordertotals; 这时候表不为空START ...

2020-01-27 17:00:33 123

原创 初识MySQL(8)使用触发器

1.触发器的作用当一个SQL语句被执行之后,我们可能会需要一些事情自动发生:(1)每当增加一个顾客到数据库表的时候,都检查其电话号码格式是否正确;(2)每当订购一个产品时,都从库存数量中减去订购的数量;(3)无论何时删除一行,都在某个存档表中保留一个副本。…所有例子的共同之处是他们都需要在某个表发生变动的时候自动处理一些事情,这就是触发器。触发器支持DELETE,INSERT,UPD...

2020-01-27 12:23:10 2955

原创 初识MySQL(7)表的创建和操作,使用视图

1.表的创建创建表使用的是CREATE TABLE语句:CREATE TABLE customers(id int NOT NULL AUTO_INCREMENT,name char(50) NOT NULL,address char(50) NULL,city char(50) NULL,num int NOT NULL DEFAULT 1,PRIMARY KEY (id))E...

2020-01-27 09:37:59 212

原创 初识MySQL(6)数据的插入,更新,删除

1.组合查询之前我们学过的所有SQL语句都是单句的SELECT构成的,当我们需要一次性返回两个SELECT查找的内容的时候,我们就需要使用到UNION关键字,使用方式比较简单,就是在两个独立的SELECT语句之间使用UNION进行连接,请看下面的例子:SELECT id FROM products WHERE prince <=5UNIONSELECT id FROM product...

2020-01-26 13:35:13 178

原创 初识MySQL(5)表的联结

1.外键表的联结就是将两个不同的表通过他们公共的列属性合成一个表,方便我们对其中的属性进行更进一步的操作,而在表的联结的过程中就会出现一个我们之前没有接触过的概念:外键。外键指的就是B表中的属性中如果有A表的主键属性,那么称这个属性为B表的外键。现在假设有两个表,vendors和products表,分别存储供应商信息和产品信息,vend_id是vendors表的主键,也存在于products...

2020-01-25 20:58:31 128

原创 初识MySQL(4)聚集函数,分组数据,子查询,分组查询

1.聚集函数聚集函数其实就是一种函数的使用方式,用来进行一些比较高级的数据操作,使用起来也比较简单,我们就先举几个例子,并对他们进行解释分析即可。SELECT AVG(age) AS avg_age FROM TABLE1; 以上语句使用了AVG()函数来求平均值,得到的结果就是查找出表中所有年龄的平均值并且起一个新的列名为avg_age。SELECT COUNT(e_mail) AS...

2020-01-23 19:02:21 216

原创 C语言的一些遗留问题(2):多维数组与指针

二维数组中运用指针的情况十分重要也是操作二维数组中几乎必不可少的操作,但是又因为相对理解的时候有点绕,所以如果长时间没有使用或者温习,就很容易遗忘,我们先以一个代码段来作为例子:#include <stdio.h>int main(){ int zippo[4][2] = { {2,4},{6,8},{1,3},{5,7} }; printf("zippo = %p , z...

2020-01-22 20:01:23 204

原创 C语言的一些遗留问题(1):关于交换两个数的swap()函数的一些问题

其实这个问题从我学C语言的一开始就一直困扰着我,因为我学C语言的时候是大一,当时我并不是计算机专业的学生(后来大二转专业到了计算机)。当时的学院开的C语言的课程相当于只是一门了解课程,C语言中最重要而且最难的两个点:指针和内存管理均没有涉及到。因此我的C语言基础其实是非常不牢靠的。所以这些东西也只能自己通过看看书来逐渐吃透。(这也是为什么我比较抗拒C和C++的原因,因为想逃避指针????)当然作为一个计...

2020-01-22 18:04:24 437

原创 初识MySQL(3)高级的检索方式,使用函数

1.高级的检索方式我们可能会遇到以下问题:(1)数据库表中的列的格式可能并不是我们最终想要输出结果的格式。(2)省份,城市的邮政编码在数据库表中分别属于不同的列,但是我们在打印邮政编码的时候却要将他们最为一个整体检索并打印出来。(3)有时候打印出来的某个数据可能是某几个数据进行运算之后得到的结果。等等这个时候我们就不能简单的将数据库某一列或者某几列的结果通过检索之后简单的直接输出。C...

2020-01-21 15:55:16 160

原创 初识MySQL(2)通配符,正则表达式

1.通配符通配符一般使用LIKE关键字来进行连接,常用的通配符符号有%和_。通配符的使用在我们对查找条件并不是特别明确的时候可以帮助我们过滤数据。例如,查找NAME中含有“林”的结果。SELECT NAME FROM TABLE1 WHERE NAME LIKE %林% ORDER BY NAME;SELECT NAME FROM TABLE1 WHERE NAME LIKE 林_ O...

2020-01-20 23:18:39 113

原创 初识MySQL(1)查询,排序,过滤数据

1.检索中的DISTINCT关键字的应用在检索中,如果我们需要检索某一行但是如果这一行中只有3个不同的数据,如颜色只有红黄绿三种颜色,但是总共有100个数据,如果我们只是简单的使用下列SQL语句:SELECT COLOR FROM TABLE1;则就会产生100个会有许多重复关键字的结果,十分影响用户的体验。因此我们可以使用DISTINCT关键字:SELECT DISTINCT COLO...

2020-01-19 23:02:28 147

空空如也

空空如也

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

TA关注的人

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