自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 5.Go语言基础之基本数据类型

基本数据类型基本数据类型的默认值数据类型默认值整型0浮点型0字符串“”布尔类型false1.整型普通整型类型范围占用存储空间uint8无符号 8位整型 (0 到 255)1字节uint16无符号 16位整型 (0 到 65535)2字节uint32无符号 32位整型 (0 到 4294967295)4字节uint64无符号 64位整型 (0 到 18446744073709551615)8字节

2021-11-24 18:07:52 335

原创 4.Go语言基础之变量和常量

Go语言中的变量和常量变量变量的声明变量的功能就是存储数据,不同的变量保存的数据类型可能会不一样Go语言中的变量需要声明后才能使用!,而且声明后必须使用!标准声明格式var 变量名 变量类型//标准声明var name stringvar age intvar isOk bool批量声明格式var (​ 变量名 变量类型​ 变量名 变量类型​ 变量名 变量类型)//批量声明var ( a string b

2021-11-24 18:05:55 230

原创 3.Go语言基础之package

package包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等定义包我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包。注意一个文件夹下面直接包含的文件只能归属一个package,同样一个package的文件不能在多个文件夹下。包名可以不和文件夹的名字一样,包名不能包含 - 符号。包名为main

2021-11-24 18:02:55 360

原创 2.Go语言基础之编译命令

Go语言编译命令Go 语言的工具链非常丰富,从获取源码、编译、文档、测试、性能分析,到源码格式化、源码提示、重构工具等应有尽有1 . go build–无参数编译如上文件所示1.1 无参数go build1.2 go build + 文件列表如果需要指定输出可执行文件名,可以使用-o作为参数如 go build -o test main.go lib.go那么可执行文件就是test.exe注意:使用“go build+文件列表”编译方式编译时,文件列表中的每个文件必须是同一

2021-11-24 18:01:42 1098

原创 1.Go语言基础之环境变量详解

Golang环境变量详解通过 go env 可以查看所有的环境变量,但是其中有几个比较重要1 . GOROOT表示Go语言的安装目录GOROOT/bin则包含Go为我们提供的工具链,因此,应该将GOROOT/bin配置到环境变量PATH中,方便我们在全局中使用Go工具链。2 . GOPATH用于指定我们的开发工作区(workspace),是存放源代码,测试文件,库静态文件,可执行文件的工作根据Go语言的开发规范来说,GOPATH目录下一般分为三个子目录src存放的是开

2021-11-24 17:58:24 839

原创 课堂例题--归并排序延伸例题--小和问题

小和问题题目描述在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和,求一个数组的小和例[1,3,4,2,5]1左边比1小的数–没有3左边比3小的数-- 14左边比4小的数-- 1,32左边比2小的数-- 15左边比5小的数–1,3,4,2小和 = 1+1+3+1+1+3+4+2 = 16解法一 : 暴力解法指针i每到一个数,遍历他左边的数,凡是小于他的都加上public static int smallSum(int[] arr){

2021-10-31 19:29:22 131

原创 算法思想之初始递归

递归举个栗子在整个数组中找最大值图解系统执行过程/** * @author wangxu * 递归实现在整个数组中找最大值 */public class RecursionTest1 { /** * 使用递归实现的话,其实递归中是包含着分治思想的 * 我们将数组一分为二,找出左边的最大值和右边的最大值比较,谁大谁就是整个数组的最大值 * @param arr * @return */ public static

2021-10-31 13:25:51 108

原创 算法工具--master公式

master公式T(N) = aT(N/b) + O(N^d)由a,b,d三个参数决定时间复杂度log(b,a) > d --> O(N^log(b,a))log(b,a) = d --> O(N^d*logN)log(b,a) < d --> O(N^d)例用递归实现在整个数组中找最大值问题作为本例public static int getMax(int[] arr,int left,int right){ if (left == rig

2021-10-30 17:26:26 331

原创 算法工具--异或法实现两数交换

异或运算不同为1,相同为0性质0^N = N , N^N = 0异或运算满足交换律和结合律A^B = B^A(ABC) = A(BC)同一批数,不论顺序进行异或运算,结果都是一样的异或运算实现两数交换这个方法就可以用在一些算法中的两数交换,那么不妨称它为swapPlus他的好处就是不用额外申请空间public static void swapPlus(int[] arr,int i,int j){ arr[i] = arr[i] ^ arr[j];

2021-10-30 17:25:21 606

原创 课堂例题--找出出现次数为奇数的数

题目描述在一个整型数组中,只有一种数出现了奇数次,其他的数都是出现了偶数次1 . 怎么找到出现了奇数次的数?2 . 如果有两种数出现了奇数次,其他的数都是出现了偶数次,怎么找到出现了奇数次的这两个数?要求 : 时间复杂度O(N),空间复杂度0(1)问题1思路准备一个int eor = 0 , 然后把eor从头异或到尾因为异或运算,无所谓顺序,得到的结果一定是一个数组[2,1,3,1,3,1,3,2,1] == 数组[1,1,1,1,2,2,3,3,3] ,那么用0从头到尾异或一

2021-10-30 17:24:09 219

原创 经典排序算法之归并排序

归并排序方法[L,R]范围排序先求出中点位置,先把左侧排好序,然后右侧排好序,然后整合(merge)代码实现public class MergeSort { public static void sort(int[] arr){ if (arr ==null || arr.length <2){ return; } process(arr,0,arr.length-1); } //分析时间复

2021-10-30 17:22:25 99

原创 经典排序算法之插入排序

插入排序方法给定数组n,要求升序一开始不看n[0]位置上的数,因为[0,0]位置上已经排好序了接着考察n[1]位置上的数,比较n[0]和n[1],如果n[1]<n[0],就交换,否则不交换,[0,1]范围就排好了接着考察n[2]位置上的数,比较n[1]和n[2],如果n[2]<n[1],就交换,否则不交换,然后再比较比较n[0]和n[1],如果n[1]<n[0],就交换,否则不交换,[0,2]范围就排好了…重复以上步骤,直到整个数组呈升序排列规律就是考察n[i]位置上的

2021-10-30 17:21:49 117

原创 经典排序算法之选择排序

选择排序方法给定数组n,要求升序然后从[0,N-1]中找出最小的放到n[0]位置,然后从[1,N-1]中找出最小的放到n[1]位置,…重复以上步骤,直到整个数组呈升序排列代码实现public class SelectionSort { public static void sort(int[] arr){ //当数组长度为0或者1的时候,就没有必要排序,直接返回就行了 if (arr == null || arr.length < 2){

2021-10-30 17:21:03 74

原创 经典排序算法之冒泡排序

冒泡排序方法给定数组n,要求升序先看n[0],n[1]位置上的数,如果n[0]>n[1],则交换,否则不交换再看n[1],n[2]位置上的数,如果n[1]>n[2],则交换,否则不交换… 到最后一个数,那么最后一个数就是最大的然后对[0,N-2]中的数,重复以上步骤… 重复以上步骤,直到整个数组呈升序排列代码实现public class BubbleSort { public static void sort(int[] arr) { //当数组长

2021-10-30 17:20:10 64

原创 时间复杂度

时间复杂度就是一个算法流程中,最差情况中常数操作数量的指标具体来说就是计算出常数操作数量的表达式,只要高阶项,不要低阶项,也不要高阶项的系数,剩下部分记为f(N),那么时间复杂度为O(f(N))例1一个有序数组A,另一个无序数组B,请打印B中的所有不在A中的数,A数组长度为N,B数组长度为M算法流程1 : 对于数组B中的每一个数,都在A中通过遍历的方式找一下算法流程2 : 对于数组B中的每一个数,都在A中通过二分的方式找一下算法流程3 : 先把数组B排序,然后用类似外排的方式打印所有

2021-10-30 17:19:21 64

原创 算法工具--对数器

对数器“对数器”,该概念是从左程云老师的课程中学习得来的,以下分析仅为自己学习笔记以及自己的理解概念通过用大量测试数据来验证算法是否正确的一种方式使用构造以及使用对数器需要有以下几个方法1 . 需要验证的算法a(为了分析简单,此处我们验证冒泡排序)public class BubbleSort { public static void sort(int[] arr) { //当数组长度为0或者1的时候,就没有必要排序,直接返回就行了 if

2021-10-26 16:45:59 641

原创 Linux学习补充知识–网络连接三种方式

补充知识–网络连接三种方式在VMWare上安装Centos的时候,需要设置网络适配器,需要选择3种网络连接模式,老师讲的是选择NAT模式,自己下来对3种模式进行一些浅显的总结,特此记录一下^^一 . 桥接模式定义将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信二 . NAT模式定义借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网三 . 主机模式定义仅主机模式,是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。如果你想利用VM

2021-10-15 22:41:26 109

原创 2.Go的转义字符

二.Go的转义字符常用转义字符字符含义\t制表符,实现对齐的功能\n换行符\ \一个\\ "一个"\r一个回车,表示从当前行的最前面开始输出,覆盖掉以前的内容应用实例package mainimport "fmt"//fmt包中主要提供格式化,输出,输入的函数func main() { //演示转义字符的使用 fmt.Println("wangxu\tyandi") fmt.Println("c:\\user\\wangxu

2021-09-21 11:48:44 143

原创 1.Go语言入门的第一个简单案例

一.Go语言入门的第一个简单案例需求要求开发一个hello.go程序,可以输出"hello,world!"代码如下package mainimport "fmt"func main() { fmt.Println("hello golang!")}说明go文件的后缀是**.go**package main表示hello.go文件所在的包是main在go中每个文件都必须归属于一个包import "fmt"表示引入包名为fmt的包,引入该包后,可以使用fmt

2021-09-21 11:09:54 263

原创 SpringFrameWork的整体架构

SpringFrameWork的整体架构Spring框架是一个分层架构,它包含一系列的功能要素,并分为大约20各模块,如下所示

2021-08-18 17:04:13 152

原创 力扣704--二分查找

力扣704–二分查找题目描述解法一 : 常规法思路 : 判空之后,for循环遍历,找到目标值返回目标值下标public int search(int[] nums, int target) { if (nums == null || nums.length ==0){ return -1; } for (int i = 0; i < nums.length; i++) { if (nums[i] == target){

2021-08-16 20:30:52 91

原创 源码级别说明ArrayList和LinkedList的区别

源码级别说明ArrayList和LinkedList的区别首先二者都是实现了List接口的不同实现,并且都不是线程安全的区别一 : 数据结构方面ArrayList底层使用的是动态数组来存储元素,初始化大小DEFAULT_CAPACITY = 10;LinkedList底层使用的是双向链表来存储元素区别二 : 使用场景ArrayList更适用于随即查找LinkedList更适合删除和添加再因为LinkedList在实现了List接口的基础上还实现了Deque接口,所以LinkedLi

2021-08-16 16:35:53 171 1

原创 1.代理模式

1.代理模式这就是springAOP的底层1.1 静态代理角色分析:抽象角色:一般会使用接口或者抽象类解决真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后,一般会做一些附属操作客户:访问代理对象的人代码步骤:1.接口//租房接口public interface Rent { public void rent();}2.真实角色//房东public class Host implements Rent{ public void rent() {

2020-10-31 15:11:28 89

原创 Spring中xml配置文件与注解的比较及摒弃配置文件的纯Java注解实现

1.Bean自动装配自动装配是Spring满足Bean依赖的一种方式!Spring会在上下文中自动寻找,并自动给Bean装配属性在Spring中有三种装配方式1.在xml显示的配置2.在Java中显示的配置3.隐式的自动装配Bean(重要)1.1 ByName自动装配在之前的set注入的时候会有重复操作出现例如:<bean id="cat" class="com.wangxu.POJO.Cat"/> <bean id="dog" class="com.wang

2020-10-31 11:19:58 292

原创 Spring依赖注入(Dependency Injection)

DI依赖注入(Dependency Injection)1.1 构造器注入详情见我的上一篇博客https://blog.csdn.net/weixin_46976101/article/details/109363663 ┗|`O′|┛1.2 set方式注入(重点)依赖注入:Set注入!依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性,由容器注入环境搭建复杂类型package com.wangxu.POJO;public class Address {

2020-10-29 18:23:41 119

原创 Spring简述及IOC理论浅析

1.Spring简介写在前面:终于来到了心心念念的Spring,从Javaweb到Mybais让我体会到了Dao层+Service层+Servlet之间的相互调用以及对数据库的查询的静态SQL到方便好用的动态SQL,都让我深深的感受到了学习的知识只会越往后越严谨,加油,加油,别让自己空着手入人海!SpringSpring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。轻量级,非侵入式的框架支持事务的处理,对框架的整合!Spring Boot一个快速开发的脚手架基

2020-10-29 16:58:19 141

原创 JavaScript中BOM.DOM,操作表单,初级jQuery学习笔记

1.JavaScript中操作BOM对象因为JavaScript是一个弱脚本类型语言,前面基础与Java差不多而且比JavaSE的规范相对宽松,所以就不做前面的笔记了^ - ^BOM:浏览器对象模型windowwindow代表浏览器窗口window.alert(1)undefinedwindow.innerHeight578window.innerWidth785window.outerHeight824NavigatorNavigator 封装了浏览器的信息navi

2020-08-18 16:10:35 215 1

原创 JavaSE思维脑图

JavaSE学习结束,自制思维脑图一份^^

2020-06-23 11:20:56 279 5

原创 TCP概述

TCP概述TCP/IP C/S通信双方的地址IP端口号规则:网络通信的协议TCP/IP参考模型1. IPIP地址:InetAddress唯一定位一台网络计算机127.0.0.1:本机 localhostIP地址分类:ipv4/ipv6ipv4 127.0.0.1,4个字节组成,0-255,42亿ipv6 fe80::24e7:f059:2c83:3a37%8 128位,8个无符号整数表示的2001:0bb2:aaaa:0015:000

2020-05-28 19:01:01 246 1

原创 GUI实战----贪吃蛇

GUI实战----贪吃蛇帧:如果时间片够小就是动画,连起来是动画,拆开就是静态的图片键盘监听定时器:Timer1.准备工作需要准备贪吃蛇界面组成的一些图片,链接:https://pan.baidu.com/s/1KUW0wkuB6TNHJa4gq_vrow提取码:zyms2.对贪吃蛇进行构思1.首先需要一个游戏的主启动类主启动类需要一个窗口–JFrame2.设置一个游戏面板去装载贪吃蛇游戏的相关组件—JPanel面板上就只需要根据需求做三件事即可定义数据用相关方法

2020-05-26 18:34:44 232

原创 GUI编程概述

GUI编程组件:窗口弹窗面板文本框列表框按钮图片监听事件鼠标事件键盘事件GUI的的核心技术:Swing/ AWT一.AWT介绍:抽象的窗口工具,包含很多的类和接口元素:窗口,按钮,文本框1.1组件和容器Frame顶级窗口package com.wangxu.lesson01;import java.awt.*;//GUI的第一个界面public class TestFrame { public stati

2020-05-25 15:14:42 363

原创 通过汉诺塔实例去理解JAVA递归

JAVA递归通俗来讲,递归就是自己调用自己,就是出入栈的问题如果直接写一个函数去自己调用自己,会发生栈溢出异常,递归结构包括两个部分:递归头:什么时候不调用自身方法,如果没有头,将会陷入死循环递归体:什么时候需要调用自身方法最简单的递归:阶乘public class Factorial { public static void main(String[] args) { System.out.println(factorial(5)); }

2020-05-21 23:53:52 150

原创 小王学习MySQL之旅Day07

学习数据库第七天一.事务(Transaction)1.什么是事务要么都成功,要么都失败SQL 执行 A 给 B 转账 A 1000 —> 200 B 200SQL 执行 B 收到A 的钱 A 800 ----> B400将一组SQL放在一个批次中执行事务原则:ACID原则 原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)原子性(Atomicity)原子性是指事务

2020-05-21 16:16:36 467

原创 小王学习MYSQL之旅Day06

数据库学习第六天一.DQL查询数据(最重点)1.DQL(Data Query Language)所有的查询操作都用它----Select简单的查询,复杂的查询都可以数据库中最核心的语言SELECT 语法SELECT [ALL | DISTINCT]{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]}FROM table_name [as table_alias]

2020-05-20 18:09:44 173

原创 小王MySQL学习之旅Day05

学习数据库第五天一.修改删除表修改-- 修改表 ALTER TABLE 旧表名 RENAME AS 新表名ALTER TABLE teacher RENAME AS teacher1-- 增加表的字段 ALTER TABLE 表名 ADD 字段名 列属性ALTER TABLE teacher1 ADD age INT(11)-- 修改表的字段 (重命名 修改约束)-- ALTER TABLE 表名 MODIFY 字段名 列属性 -- 修改约束-- ALTER TABLE

2020-05-19 19:15:06 165

原创 小王MYSQL学习之旅Day04

学习数据库第四天一.创建数据库表1.1创建一个学生表(示例)CREATE TABLE IF NOT EXISTS `student`( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名'COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` VARCHA

2020-05-18 13:49:52 198

原创 小王学习Mysql之旅Day03

数据库学习第三天一.操作数据库(了解)Mysql不区分大小写1.创建数据库CREATE DATABASE [IF NOT EXISTS] +名称2.删除数据库DROP DATABASE [IF EXISTS] +名称3.使用数据库USE `名称`4.查看数据库SHOW DATABASE----查看所有的数据库思路:1.对照SQLyog可视化历史记录查看SQL2.固定的语法或者关键字必须要强行记住!二.数据库的列类型数值1.tinyint 十分小的数据 一个字

2020-05-17 11:51:52 191

原创 小王学习Mysql之旅Day02

数据库学习第二天数据库的基本操作1.连接数据库1.1用SQLyog直接连接1.2用命令行连接(建议使用这个)mysql -uroot -p+你自己的密码连接成功后如图2.展示全部数据库show databases;注:语句后一定要跟分号3.切换数据库使用use命令在SQLyog中可以查看历史记录4.显示所有的表use tables5.查看表中所有的数据describe+表名6.创建一个数据库create database + 名称7.常用语句e

2020-05-16 12:03:47 202

原创 小王学习Mysql之旅Day01

数据库学习第一天Mysql的下载及安装1.下载Mysql1.1直接去官网下载Mysql官网网址1.2.百度网盘分享给你链接提取码:md3y1.3!!!1.3.1建议下载不要下载exe后缀的,后面卸载会很麻烦1.3.2建议下载Mysql5.72.配置环境变量2.1下载好Mysql后,开始配置环境变量!!!一定要记住自己的Mysql保存的地址2.1.1我的电脑–属性–高级系统设置–环境变量–系统变量–Path–双击后点击新建–填上你的Mysql文件夹下bin目录的保存路径–确定

2020-05-15 13:45:39 235

空空如也

空空如也

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

TA关注的人

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