自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (4)
  • 收藏
  • 关注

原创 golang泛型

泛型go1.18版本开始支持在函数上使用[T 支持的类型] 表示泛型,比如func AddSum[T int|float64](params ...T)(sum T){ // 一些操作 return sum}自带泛型:any 表示任何类型,即interfacecomparable 表示可以被比较的类型comparable is an interface that is implemented by all comparable types(booleans, numbers,

2022-04-03 15:05:21 7261 1

原创 golang struct2json

Struct转json的一些问题经常会在struct转json的时候遇到问题在json中忽略某个字段(使用json:"-")在json中忽略某个字段的默认值(使用json:"xxx,omitempty")在json中忽略某个字段,但是又不能忽略它的默认值(使用指针类型+json:"xxx,omitempty")案例代码package testimport ( "encoding/json" "fmt" "testing")type School struc

2022-04-01 23:38:41 452 1

原创 腾讯云服务器环境搭建

环境腾讯云普通服务器,宝塔镜像端口相关先在页面配置开放端口防火墙相关# 查看防火墙状态firewall-cmd --state# 开启防火墙systemctl start firewalld# 开放指定端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent# 关闭指定端口firewall-cmd --remove-port=80/tcp --permanent# 重启防火墙firewall-cmd --

2022-01-09 02:15:01 367 1

原创 GO爬取彼岸网壁纸

目标爬取彼岸图网的精美壁纸爬取非会员版的缩略壁纸爬取会员版的4K壁纸网页结构解析选取一个分类,这里选择的是美食,其url长这样:https://pic.netbian.com/4kmeishi/谷歌浏览器,点击F12审查元素,有两个地方值得注意,一个是标黄的a标签与标橙的img标签,后续需要从这两个标签获取要爬取的图片的url与name。a标签的href用于4k壁纸的url拼接,img标签的src用于缩略图url的拼接,img标签的alt用于图片的命名点进大图,其url为:https:

2021-05-18 19:26:39 762 4

原创 《GO语言机器学习实战》问题1

开新坑  趁着还没工作,看看有意思的东西,这片文章是解决《GO语言机器学习实战》遇到的一些问题而写的,该书的译版是这样的这本书大概就讲了一些应用,当然也包括最经典的MNIST手写数字识别。不过我看了一下某宝和某东,发现这本书销量不高,有一说一,小白还是使用主流的python来学习机器学习比较好,毕竟要掌握的知识和遇到的问题太多了。看这书就相当于涨涨见识吧。  在某宝上看到该书的评论,有一个说作者给的代码都是错的,今天试着运行第二章的“线性回归——房价预测”的代码,发现IDE确实报了不少错,而该书毕竟是

2021-05-13 20:20:52 594 3

原创 go web的简单实现

搭建  go的标准库net/http提供了HTTP客户端和服务端的实现,本章参考《Go语言高并发与微服务实战》一书,对其goweb代码进行分析实践。  该代码的主要目标是实现一个简单的http服务器,对通过浏览器传过来的数据进行解析并保存,并通过浏览器查询保存的数据。包括一个简单的html代码与go代码。  html页面代码如下,将其保存为login.tpl文件<!DOCTYPE html><html lang="en"><head> <meta

2021-05-11 21:18:16 407 2

原创 GO语言中复合数据类型的声明与使用

复合数据类型  golang中有七种复合数据类型,包括指针、数组、slice、map、chan、struct与interface。本文将简单介绍这几种类型的声明与使用  文中使用到的格式化输出占位符的用法可见Go语言中文文档的fmt包,比如指针  go语言的指针操作包括&与*,赋值语句中*T在=左边表示指针声明,*T在=右边表示取指针指向的值  指针相当于存放变量所在的地址,比如声明了一个变量a := 10,其地址为0xc00000a0a0,那么p := &a的p值即为0xc00

2021-05-10 17:01:20 416 4

原创 GO词法

GO程序stringSort.go第1行表示该程序在main包内,是一个可执行程序3-6行导入了fmt包与sort包main函数用于对输入的英文排序13行创建了一个名为sli的sring切片,相当于一个动态数组14行创建了一个str的string变量用于获取输入的字符串for{}表示一个无限循环在16行通过fmt.Scan(&str)将控制台输入的字符串赋值到str当输入"EOF"时表示待排序的字符输完了append()是go的内置函数,用于slice的追加调用sort包的S

2021-05-07 20:42:46 135 1

原创 初探GOLANG

golang与java的一些区别与共性因为之前学过java,所以不自觉的就与java的特点进行了一些粗浅的比较,学了一段时间golang,便整理一下,方便查询go使用package来管理文件,java使用class来管理文件感觉go与matlab倒是有点类似,函数可以多值返回且类型不必一致,有结构体(struct),go通过struct实现类的特性,将struct与函数进行绑定使该函数成为该struct的方法,通过struct的嵌套来实现类的继承go有指针的概念而java没有,&可用于取地

2021-05-07 16:18:57 124 3

原创 排序可视化-选择与插排

父类根据书上给出的Example,将其创建,改为一个父类,让后续的排序算法进行继承实现,减少工作package Chapter2_sort;import edu.princeton.cs.algs4.StdOut;/** * @author ZhangXiong * @version v12.0.1 * @date 2021-01-23 * 一个排序模板,让排序算法进行继承 */public class Example { /** * 排序方法 * @p

2021-01-23 16:05:00 231 1

原创 并查集操作成本可视化

并查集算法一书1.5节,讲述了并查集的quick-find、quick-union、weighted-quick-union与路径压缩。一步一步清晰明了,不过成本可视化倒是作为一个练习1.5.16给出,就把改了的可视化代码贴出来吧之前写过并查集相关的博客:并查集理解,可视化参考了算法(Algorithms)第4版 练习 1.5.16,不过该文章与其内容倒是差不多。绘图与书上描述一致,黑点为每次操作访问数组次数,红点为均摊次数使用mediumUF.txt文件进行处理绘制。quick-findfin

2021-01-19 19:11:21 239 1

原创 算法第四版的背包用例

背包集合看该书第一次看到有背包这个集合,以前接触到的背包都是一个概念,用数组或者其他集合进行实现。跑了一下该书代码,发现这个Bag类是作者自己实现的,从algs4.jar导入。书上对背包的描述为:被保释一种不支持从中删除元素的集合数据类型——它的目的就是帮助用例收集元素并迭代遍历所有搜集到的元素(用例也可以检查背包是否为空或者获取背包中的元素的数量)。迭代的顺序不确定且与用例无关。看了一下jar包中的实现:其代码比较简短,如下package edu.princeton.cs.algs4;im

2021-01-18 16:19:49 227 2

原创 算法第四版的StdDraw

可视化太可了该书中使用了自己的标准库,用StdDraw进行图形绘制,把算法的过程绘制出来,太爽了。书p27的例子如下package Chapter1_base;import edu.princeton.cs.algs4.StdDraw;import edu.princeton.cs.algs4.StdRandom;import java.util.Arrays;/** * @author ZhangXiong * @version v12.0.1 * @date 2021-01-

2021-01-15 21:01:07 1162

原创 算法初识

心血来潮最近突然像提升一下编程功底,想试试acm题,但还是有点害怕。找了些书籍,看到算法这本书,经典之作,又是java编写,可省去好多麻烦,便开始学习。pdf,提取码wexq官方网站,有代码与资料一些问题算法这一书使用了普林斯顿大学自定义的java标准库,algs4.jar,提取码gmeq,需要将其下载导入使用。使用的过程中有一些坑,就顺便记录下来了。本人使用的时IDEA,创建了一个工程名为Algorithms的工程。algs4.jar的放置位置应该放在工程使用的jdk的扩展文件夹里,比如

2021-01-13 17:33:03 365 8

原创 远程连接redis问题

自己一直都是连本地redis,直接上localhost,没毛病。心血来潮连个linux系统上的redis,就遇到了连接不了的问题问题1使用IDEA搭建SpringBoot将redis服务器ip地址改为另一台电脑时,出现错误,项目无法启动,但是ping目标地址能ping通,通过本地电脑的redis进行连接redis-cli -h 192.168.xx.xxx -p 6379结果:由于目标计算机积极拒绝,无法连接之前以为是防火墙的问题,就进行了下述操作,但并没有用,不知道该操作影响到后面没有就贴了上

2020-10-10 16:42:45 1387 6

原创 JVM垃圾回收算法解析

四大回收算法标记清除算法思想:标记过程:从GC root搜索,标记不可达对象清除过程:清除标记的对象缺点:产生内存碎片,若大对象进入,则会触发其他GC机制标记整理算法思想:标记:从GC root搜索,标记不可达对象整理:将存活对象整理到基地址开始位置挨个放置,将端边界外的内存清理掉优点:没有内存碎片的产生问题缺点:效率问题复制算法思想:开辟两个容量相当的内存区,一个空闲(To区),一个装对象(From区)标记:在From区中标记待回收对象复制:将存活对象复制到To区

2020-08-31 15:23:37 142 1

原创 并查集理解

技多不压身学了这么久的数据结构了,还是有好些算法并没弄清楚,搞得有些笔试题都是没有思路,今天就讲讲并查集。分圈子感觉这东西吧,就是分圈子,一个人自成一个圈子,若分属于两个不同圈子的人在某时刻成了好朋友,那这两个圈子就合并成了一个圈子,最终在题目中形成多个圈子进行分析。路径压缩判断两个人是不是一个圈子要不停的找朋友验证,这就很麻烦,一个圈子总要有个大boss吧,所以最好直接在合并圈子的时候直接从属于一个一个老大,后面就查询两个人的老大是不是一个就知道是否处于同一圈子。参考可以看看这篇文章,讲的挺

2020-08-26 20:36:46 136 1

原创 字符串最少由多少回文子串构成

昨天的腾讯笔试题第五题,题意大概是这样的第一行输入一个字符串 s,1 <= s.length() <= 400第二行输入该组有多少个测试 n后面n行,每行输入两个数字,l,r用空格分割,l和r分别表示s的子串左右边界,1 <= l <= r <= s.length()例子:输入ababa41 52 51 42 4输出1221解释:1 5表示子串为ababa,此时本就为回文,所以最少由一个回文串构成,2 5表示子串为baba,此时可由b

2020-08-24 16:39:06 398 1

原创 为什么matlab的程序都加了分号,还会在命令行窗口不断输出

磕盐路上的艰辛刚才用matlab进行仿真,遇到一个十分糟心的问题,我所有代码都加了分号,但是运行的时候,命令行窗口还是在不断打印数据,重启matlab,重启电脑都试过了,还是不行。偏偏输出的数据还十分多,体验糟透了,百度也没有发现类似的例子,最后终于解决,记下这个问题,方便大家解决问题解决不能在统一目录下共存同名的.m文件和.mat文件,且在该.m文件中同时加载了该.mat文件,即这样,虽然加了分号,但是或许时matlab的运行机制,会导致重复载入mat文件且是无分号的效果。解决方案就是,将两文件

2020-08-22 20:15:56 4250 3

原创 保留长度四舍五入+回文素数

一次笔试两道编程题给定一个计算公式,输入n>0,输出该公式计算的值,保留4位小数,四舍五入输入n,m且1<=n<m<=1000000,输出[n,m]中有多少个回文素数公式计算计算res = 1/5 - 1/10 +1/15 - 1/20 +···+1/(5*(2n-1)) - 1/(5(2*n))代码其实很简单,然而由于忘记了四舍五入保留长度的方式,故而写的又臭又长,浪费时间import java.util.*;class Main { public st

2020-08-06 21:36:42 142

原创 最长回文子序列

起因为啥要写这篇博客呢,因为前两天进行了一场面试,就是撕这道题,当时一看,emmm做过的,仔细一看,做过类似的,对就是那个最长回文子串。当时只写了个dfs的,感到耗时应该会很久,但是也没有想出较好的方法,想到动态规划,但是不知道怎么动态规划,所以写下这篇博客题目以及参考题目最长回文子序列参考动态规划,四要素题目大概是这样给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 示例:输入bbbab,输出4,因为最长子序列为bbbbdfs

2020-08-06 17:53:30 213

原创 Ubuntu18.04使用记录

安装上一篇文章写了安装win10+centos8的过程,因为网卡驱动原因让我放弃centos8,拥抱ubuntu18.04,真香。装系统没啥说的,网上一搜一大片,ubuntu的安装挺舒适的大概流程可照着Ubuntu18.04安装教程装网卡驱动我的台式电脑不能连以太网,一直靠外置usb网卡苟活,windows免驱的,但是装了linux就需要额外安装驱动了。按照网上的方法是需要联网的,没网怎么办呢,可以将手机与电脑连在一起,使其共享网络,具体根据手机品牌自行百度。我用的是TPLink-WDN52

2020-07-21 20:53:08 341

原创 win10+centos8双系统

安装centos8制作启动盘centos下载一个16G的U盘下载软碟通在软碟通界面找到下载好的镜像,点击启动->写入硬盘映像,参数默认点击写入,最后有个刻录成功提示安装将启动U盘插入待安装电脑上开机,进入bios选择u盘启动,出现以下界面可以试一下直接选中第一行安装,若出错,出现下图5. 在该界面键入cd /dev,然后键入ls -a,查看sdb+数字的即为你的u盘,比如我的是sdb46. 然后重启电脑再进入安装界面,在第一行按下Tab键,修改出现的命令为vm

2020-07-18 21:50:05 3727 2

原创 常见排序算法简述

冒泡排序BubbleSort基本思想通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻的元素值, 若发现逆序则交换,使值较大的元素逐渐从前往后移动,就像水底的气泡逐渐网上冒 优化若一趟比较下来没有进行过交换,就说明序列有序,通过设置flag判断元素是否进行过交换,减少不必要的比较过程一共进行 数组大小-1 次的大循环每一趟排序的次数逐渐减少如果发现某趟排序中,没有发生一次交换,则提前结束排序选择排序SelectSort基本思想每次假定需要排序数组第一位为最小值,

2020-07-17 21:56:56 212 1

原创 二叉树的非递归DFS实现

记一次面试痛点起因今天面试的时候,面试官让写一个对二叉树的非递归DFS实现,可能是紧张了吧,当然更大原因是因为菜,导致最后没有做出来。希望面试官给个机会,虽然基本是不可能的。当时心路历程这题不是一看就非常简单吗,递归分分钟实现,非递归不就按照递归代码改改就行了。且递归嘛,不就是用栈嘛,啥都想好了,看我怎么秒杀面试官结果:。。。没做出来,脑袋发懵,自己好菜啊。。递归玩多了,迭代还做不出来了。实现其实就可以把其当作二叉树的先序遍历,我特么想打死当时的自己,面试前命名都快压中题目了,结果一扫而过,心

2020-07-08 15:55:09 361

原创 JDK动态代理

基本介绍代理对象不需要实现接口,但是目标对象要实现接口,否则不能使用JDK动态代理代理对象的生成,时利用JDK的API,动态的在内存中构建代理对象也叫JDK代理、接口代理代理最主要原因就是不改变目标对象方法的情况下对方法进行增强使用API1.代理类所在包:java.lang.reflect.Proxy2.JDK实现只需使用newProxyInstance方法,但是该方法需要接收三个参数newProxyInstance(ClassLoader loader,Class<?>[]

2020-06-16 16:38:19 129

原创 堆排序

堆特点一个完全二叉树,以数组形式给出,0位置即为根节点假设父节点在数组中的位置为i,则其两个子节点(若存在)的位置分别为2i+1与2i+2一个节点在数组中的位置为k,则其父节点位置为(k-1)/2;堆排序大顶堆,数组中的最大值位于0位置小顶堆,数组中的最小值位于0位置其余位置不要求有序流程调整堆结构,使得要排序区间的最大值位于0位置交换,将0位置的值与尾部交换代码以自然顺序为例,通过大顶堆排序import java.util.Arrays;public class

2020-06-14 21:53:14 136

原创 IDEA+Mybatis+Maven逆向工程

逆向工程之前接触到逆向工程这个东西,感觉很有方便。只要在mysql中创好一张表,然后在IDEA中配置一下,就可以得到对应表的POJO、Mapper接口和xml文件。今天把它记录下来方便以后使用配置mysql建表我就不说了,先创好一个maven的webapp工程;依赖进入pom.xml导入依赖<dependencies> <!-- 依赖 MyBatis 核心包 --> <dependency> <groupId>org.

2020-06-04 23:15:10 151

原创 查看java进程信息

纸上得来终觉浅,绝知此事要躬行通过视频学习多线程有段时间了,但是总是当时记住了,过了不久,或许知道原理,但是要让我自己实现一下还是写不出来。最近准备看看《Java并发编程的艺术》这本书,跟着实践一下,重温知识。学学查看进程信息该文章主要是通过多线程的死锁来简单介绍三种查看进程状态的工具,虽然网上有不少介绍了,但是自己还是记录一下。死锁代码书上p5的例子,死锁,就是多个线程相互持有对方所需要的锁而不是释放,导致相互等待。public class DeadLockDemo { privat

2020-06-04 11:39:40 944 1

原创 使用IDEA进行支付宝沙箱测试

准备进入支付宝开放平台进入支付宝开放平台,登录。下拉,点击研发服务进入开发者中心,红框对应支付宝跟你分配的APPID因为是商家,支付宝要求进行支付操作时,你要调用支付宝的接口,支付宝也要调用你的接口,所以需要使用非对称加密。若是刚开始操作,RSA2哪里只有设置,没有查看,需要点击设置,在下图中的框中输入利用支付宝密钥生成器生成的公钥,私钥/公钥的生成生成器,点击下载,安装,打开软件进入生成器,直接点击生成密钥,就会在下方得到生成好的公钥和私钥。将公钥复制,进入支付宝开发平台的那个页

2020-06-03 12:49:23 3701 16

原创 为什么你的swap会有问题

swap记录一下菜鸡的心酸历程。一个简单的变量交换函数,大家应该都很熟悉int tmp = x;x = y;y = tmp;刷题多了,了解到位运算的速度有多nb,虽然ide会帮我们优化,但是面试的时候,或者拿给小白看,还是感觉有点逼格。x = x ^ y;y = x ^ y;x = x ^ y;问题既然要高调一点,那就时时刻刻保持着位运算优先原则,对吧。但是自己在手撸快排的时候,用位运算进行swap出现了问题。如下代码在进行排序的时候,出现了问题比如nums = {5,2,3,

2020-05-29 18:06:01 282 1

原创 Java中的HashMap

HashMap简介HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。HashMap在jdk1.8之前是使用数组+链表的形式进行存储,在jdk1.8及其以后使用数组+链表+红黑树进行实现。其中数组是Hash...

2020-04-22 19:49:25 242 1

原创 SpringBoot报错Unable to start embedded Tomcat

Unable to start embedded Tomcat错误最后错误学习使用springboot/springcloud的时候出现错误org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.bo...

2020-04-20 13:54:42 737

原创 比较两文件是否相同

Java代码实现比较两文件是否相同为了偷懒,不想使用人工的方式进行判断就去百度了一下。借用网上的代码,就是根据MD5加密的方式生成字符串,若两个文件有些许不同就会得到不同的字符串,通过对比两个字符串是否相同就能得到两个文件是否相同的结果。不过就是不能知道两文件哪里不同。import java.io.File;import java.io.FileInputStream;import ja...

2020-04-12 09:31:23 1086

原创 DFS与BFS

DFSDFS即深度优先遍历(Depth First Search),即不撞南墙不回头的意思,回溯操作。从一颗树的节点或者图的一个顶点出发,一直搜索最深的地方,直到无路可走,再回溯到上一个节点,继续走另一个方向上的路。这样不断重复的过程,将整个图或数遍历完,就是DFS。怎么实现DFS呢,这是我之前很困惑的问题,其实就是利用栈的思想,先进后出,DFS一般是使用递归,递归也是利用栈。没撞墙,就压入子...

2020-04-05 12:38:01 258 1

原创 解决js在浏览器中文乱码问题以及js、jsp没有正确加载问题

部署项目时js中文乱码问题解决添加修改js、jsp文件没有对应结果问题在做项目的时候,引入了js文件,发现该模块在浏览器中的中文显示乱码,但是其它中文都好好的在浏览器中F12->Sources->page那里看自己项目的js文件,发现其中的中文都是乱码,真的很烦啊。首先肯定的是编码格式出问题了,但是按照网友说的查看js的编码格式也确实是utf-8,项目也均是utf-8。解决...

2020-04-03 11:19:26 1995

原创 SSM框架简单整合

简单说明对黑马视频讲的简单的SSM框架的整合的整理,很简单,主要是理解三大框架如何结合在一起,jsp就是简单标签,数据库也只有单表。对黑马所讲解的基本没改变,就是添加了一些备注,自己记录一下。使用环境1.JDK:12.0.12.IDEA:2019.1.13.MySql:8.0.164.Tomcat:9.0.315.maven:3.5.2# 创建工程项目结构准备创建Maven工程,...

2020-03-18 01:43:12 171

原创 Error creating bean with name 'entityManagerFactory' defined in class path resource

spring boot报错看视频学爬虫的时候,作者用了spring boot,然而我并没有学过,只能照着写,运行时报错Error creating bean with name ‘entityManagerFactory’ defined in class path resource 。spring boot启动不成功看了文章使用了第一种方案,添加依赖:<dependency> ...

2020-01-16 15:35:46 845

原创 @Autowired is not applicable to local variable

低级错误Autowired is not applicable to local variableAutowired is not applicable to local variable跟着视频写代码,视频没错,我错了,IDEA一直标红,对象不能注入提示@Autowired is not applicable to local variable,还提示private not allowed ...

2020-01-16 15:01:27 905

原创 ssm整合问题

Tomcat部署项目不成功在进行ssm整合的时候,前面的操作都能成功,到了最后的进行账户保存的时候,项目就不能部署了,启动tomcat,浏览器不能打开,报错One or more listeners failed to start. Full details will be found in the appropriate container log file找了半天不知道该怎么办。。。后来...

2020-01-13 14:12:51 179

Golang.xmind

根据《Go语言核心编程》一书写的思维导图

2021-05-07

Offer.xmind

自己在整个秋招过程中的一些知识整理思维导图,主要与java相关,内容还是比较丰富

2021-03-05

计算机网络.xmind

计网的思维导图

2021-03-05

Linux常用命令.xmind

Linux常用命令思维导图

2021-03-05

空空如也

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

TA关注的人

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