自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程小白养成手记

成长的历程总是值得收藏的

  • 博客(236)
  • 资源 (1)
  • 收藏
  • 关注

原创 《Effective Java》读书笔记(1-2章)

Effective Java读书笔记前两章

2023-10-30 22:31:02 381

原创 Docker入门

Docker简介docker是docker inc公司开源的一项基于Ubuntu LXC技术之上构建的应用打包运行时引擎。源代码托管在github上,完全基于Go语言开发并遵守Apache License2.0协议。Docker是一个解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。docker技术解决的问题复杂的环境配置:从各种操作系统环境到各种中间件以及应用环境。AWS的成功将开发者应用引导在云上,解决了硬件管理功能,然后软件配置和管理相关的问题依然存在。do

2022-01-26 11:33:28 1085 2

原创 Go基础入门

Go语言介绍解释型语言和编译型语言的区别。Go语言是编译型语言。Go语言的特点(自带垃圾回收,天生支持并发)语法简洁开发效率高执行性能好Go的依赖管理为什么需要依赖管理最早的时候,Go所依赖的所有第三方库都在GOPATH目录下,这就导致同一个库只能保存在一个版本的代码,如果不同的项目依赖同一个库的不同版本,就没办法了。godep从1.5开始引入vendor模式,如果项目目录下有vendor目录,那么go工具链就会优先使用vender内的包进行编译,测试等。godep是一个通过v

2022-01-04 10:30:48 1463

原创 代码整洁之道-读书笔记1

第一章 整洁代码1.2糟糕的代码糟糕的代码会毁掉一个公司,但是为什么会出现糟糕的代码?可能是因为赶时间,如果花时间重构或者清理以前的代码,老板就会大发雷霆。勒布朗法则:稍后等于用不。1.3混乱的代价有些团队在项目初期进展迅速,但是有一两年时间却慢如蜗牛。对代码的每次修改都影响都其他部分的修改,随着混乱的增加,团队生产力持续下降,管理层想提升生产力,因此增加人力,但是新人并不熟悉系统的设计,搞不懂什么样的修改符合设计意图,什么样的修改违背设计意图,因此他们可能会制造更多混乱,驱动生产力向零那端不断

2021-12-13 15:53:32 1082

原创 {“error“:“incorrect region, please use up-z1.qiniup.com“}

接入七牛云对象存储注册七牛云账号,点右上角的密钥管理,key和secret需要复制到application.properties中。因为用到对象云存储,放一些静态资源,所以还需要实名认证。个人实名认证后,可以创建存储空间了,这个空间的名字也就是配置文件中对应的bucket,然后就有一个免费试用30天的外链域名。配置文件这时我上传文件的时候没有反应,发现返回状态是400,{"error":"incorrect region, please use up-z1.qiniup.com"},然后在七牛云

2021-11-28 21:02:34 3431

原创 2022我的校招求职历程

第一次来北京记得是6月27来的北京,也是第一次来北京。到北京后第一件事就是找个落脚点,在天通苑那边下的。后来第二天开始去找中介带着看房,中间有个小插曲就是一直逼着你签合同交定金,还说不定不给看???(最后还是看了,脏乱差直接跑)29号去报道,领工卡,取电脑,和导师攀哥碰个面,然后中午去附近餐厅吃了饭,当时太饿了,吃啥都是好吃的,然后就是安排工位,导师带着我和团队的人做了介绍,然后就开始忙活了。刚来感觉大家的工作效率都很高,在群里不停的过单,遇到问题也尽快的找人反馈,然后我开始熟悉一下周围环境(来了三天才知

2021-09-09 18:49:08 1042

原创 Redis RDB持久化失败报错解决方案

问题描述之前搭建的项目中使用到redis缓存生成的验证码,但是今天进入网站后,验证码没了。报了一个错Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that ma

2021-08-29 17:19:43 3439 1

原创 聊一聊Redis中的持久化机制

redis中持久化有两种,一种是RDB持久化,另一种是AOF持久化,如果同时开启的话,会先进行AOF持久化,默认情况下redis.conf配置中AOF持久化是关闭的。下面具体聊一下这两种持久化方式。为什么需要持久化因为对redis的数据操作都是在内存中的,因此如果redis宕机或者重启后,没有持久化机制,就无法恢复原先数据,持久化的作用就是为了保存数据,更快的做数据恢复,提高系统的可用性。RDB持久化RDB持久化的目的:将Redis在内存中的数据库状态保存在磁盘上,避免数据丢失。RDB既可以手动执

2021-05-29 15:29:33 422

原创 关于零拷贝的一些面试题

什么是零拷贝零拷贝是一种避免CPU,将数据从一块存储空间拷贝到另一块存储空间的技术。零拷贝技术能够提升应用程序的性能,使得这些应用程序可以更有效的利用系统资源。零拷贝有什么优点减少CPU拷贝次数,甚至不需要CPU拷贝,从而提升CPU执行效率减少内存的占用减少用户态到核心态之间的上下文切换次数零拷贝的实现原理不同的操作系统有不同的实现。这里只介绍Linux系统下的零拷贝实现基于sendfile实现的零拷贝基于mmap实现的零拷贝基于sendfile实现的零拷贝发出sendfi

2021-05-29 11:34:36 427

原创 LeetCode43-字符串相乘

字符串相乘

2021-05-10 20:31:09 124

原创 原型模式

原型模式又叫做克隆,Prototype模式设计目的原型模式是一种创建型设计模式,使你能够复制已有的对象,而无需依赖他们所属的类。应用如果你有一个对象,并且希望生成一个和这个对象一毛一样的复制品,那该如何实现呢?首先你必须新建一个同类的对象,然后,遍历原始对象的所有成员变量,将这些成员变量复制到新对象中。但是有个小问题,并非所有的对象都能以这种方式复制,因为有些对象中的私有成员变量对外是不可见的。还有一个问题,因为你必须知道对象所属的类才能创建复制品,所以代码必须依赖该类。即使你可以接受这种依

2021-05-03 16:41:45 92

原创 旋转图像

来源 https://leetcode-cn.com/problems/rotate-image/题目给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。例如:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]思路咋一看,确实有些麻烦,需要来回交换当前字符的坐标,并且题.

2021-04-29 10:35:57 116

原创 LeetCode11盛水最多的容器

盛水最多的容器题目:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。来源:力扣(LeetCode)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。case:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1

2021-04-19 11:33:41 113

原创 Redis数据库结构以及键空间的操作

Redis数据库结构,select语句的实现,针对主从复制模式下的过期键删除策略。

2021-04-18 09:29:36 144

原创 对称加密和非对称加密的区别

对称加密对称加密又称公开密钥加密。加密和姐妹用同一密钥,在网络传输中,安全性较低,如果密匙被窃取,此时加密就失去了意义。常见的采用对称加密的算法有:AES,RC5,RC6。非对称加密非对称加密有佳作共享密钥加密。使用一对非对称的 密钥,一把叫做私钥一把叫做公钥。公钥只能用私钥解密,公钥加密,私钥解密。一般服务端存放私钥。因为加密和解密使用的是不同的两个密钥,所以叫做非对称加密。常见的非对称加密算法有:RSA,DSA,ECC。对称加密相比于非对称加密,实现简单,加密速度快,效率高,但是安全性较低。

2021-03-31 11:22:52 3257

原创 阿里Java实习一面

前言最近开始打算找实习了,海投后没有消息,不是简历挂就是笔试直接凉凉。这个面经是我同学前些天面的,特此记录一下。希望对大家有所帮助。阿里我同学 的一面3.23 time: 50 minute你使用 JDK版本是多少?说一下它和JDK7的区别?lambda表达式内部可以访问到外部的变量吗?synchronized和lock锁有什么区别?volatile的作用?数据库的索引有哪几种?聚簇索引和非聚簇索引的区别?为什么数据库索引要使用B+树?i++操作是原子性的吗?如何保证原

2021-03-26 10:20:40 263

原创 面试题-栈排序

栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。

2021-03-16 21:42:08 157

原创 智力题-拿书问题

一共100本书,拿到第100个算赢。两个人分别拿,至少拿1个,最多拿5个。规定你先拿,那么你第一次拿几个,之后怎么拿,才能保证你能拿到第100个。

2021-03-16 21:25:38 819

原创 剑指Offer32-Z字形打印二叉树

题目请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二行是从右到左的顺序打印,第三行再按照从左到右的顺序打印,依次类推。示例给定二叉树: [3,9,20,null,null,15,7],3/  \9 20   /   \15    7返回结果:[[3],[20,9],[15,7]]解题思路对于二叉树的奇数层,第1,3,5…层,从左到右遍历,对于偶数层从右到左遍历。维护一个列表

2021-03-10 21:28:23 358

原创 剑指Offer33-二叉搜索树的后续遍历序列

题目输入一个整数数组,判断该数组是不是某个二叉搜索树的后续遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。示例5/  \2 6/  \1 3输入: [1,6,3,2,5]输出: false输入: [1,3,2,6,5]输出: true解题思路在后序遍历得到的序列中,最后一个数字是树的根节点,对于BST二叉搜索树来讲,左子树上的元素都小于根节点,右子树的元素都大于根节点。所以从左到右遍历数组,直到遇到

2021-03-10 20:59:37 98

原创 位运算常见问题

求n的二进制中1的个数首先求出这个数的二进制中除最右侧1的那位不变,其余位都是0。例如:1110,最右侧是1的那个数是0010,0010是如何得出的呢?记一个小公式:n&((~n)+1)n=1110带入即可求出最右侧的1的那位数1110&((~1110)+1)=1110&(0010)=0010因此计算n的二进制中1的个数就很容易了public static int bit1Count(int n){ int count = 0; while(n!=0){

2021-02-15 23:00:20 179

原创 返回两个链表相交的节点

问题给定两个链表(可能有环,也可能无环),返回两个链表相交的节点,如果不相交返回null,如果相交多个返回其中一个。分析因为这两个链表可能有环也可能无环,有以下几种情况1、链表A无环,链表B无环2、链表A有环,链表B有环3、链表A有环,链表B无环4、链表A无环,链表B有环第三,四种情况不可能相交,也就不再考虑。因此两个链表要么都是无环,要么都是有环。获取有环链表第一个入环节点下面的操作首先获取的就是有环链表第一个入环节点,如果无环,返回nullpublic Node getLoo

2021-02-15 22:37:05 223

原创 SpringMVC中常用注解整理

SpringMVCSpringMVC是springframework的后续产品,已经融合在Spring Web Flow里面。Spring框架提供了构建web应用的全功能MVC模块,使用spring可插入的MVC架构,从而使spring进行web开发。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫开发者只使用 JSP 技

2021-02-14 16:07:10 240 3

原创 SpringMVC中Intercept和Filter的区别

Intercept拦截器的主要作用是拦截请求,进行处理,比如用户登录,权限校验,主要针对Action请求进行处理。拦截器的实现可以继承HandlerInterceptorAdapter或者实现HandlerInterceptor接口public class TestInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest httpServletReq

2021-02-14 15:20:03 606 1

原创 SpringBoot打成jar包部署后如何再修改配置文件

问题因为有时开发环境和线上环境有很大的不同导致发布到服务器上的项目出现了一堆报错,这时候去查看日志文件,看看具体是什么错误,而我出现的是数据库配置文件不正确,因此需要修改配置文件;这时候有几种解决方法在此记录一下。解决第一种比较麻烦,在本地修改完配置后,重新打包再部署。第二种可以在这个jar包同级目录下在创建一个application.properties或者application.yml;SpringBoot首先会加载外面的配置文件这样内部的配置文件就不需要再更改了。或者把这些.properti

2021-02-14 15:09:55 7251 1

原创 SpringBoot接入支付宝沙箱返回支付二维码

支付宝开放平台扫码登录支付宝开放平台沙箱环境沙箱环境介绍沙箱控制台应用网关:该地址用于接收开放平台的异步通知。目前沙箱环境不需要配置此参数;授权回调地址;第三方应用授权或获取用户信息中用于接收授权回调信息的地址。使用相关产品时需进行配置:第三方应用授权:授权 url 中的 redirect_uri 必须与此值相同。获取用户信息:授权 url 中的 redirect_uri 的域名必须与此值相同(例如:授权回调地址配置:https://auth.example.com/authCallBac

2021-02-13 23:43:15 2539 3

原创 MySQL报错检查你的版本for the right syntax to use near ‘describe’

问题描述前端添加请求发往后端处理时,发现报SQl错误。ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe from t_food' at line 1原因原来是t_food表中的字段名describe是MySQL的关键字,所以编

2021-01-27 22:38:20 8723 1

原创 Correct the classpath of your application so that it contains a single, compatible version of com.go

在Springboot 中依赖Gson,项目启动时报错:APPLICATION FAILED TO START***************************Description:An attempt was made to call a method that does not exist. The attempt was made from the following location: java.lang.invoke.MethodHandleNatives.resolve(

2021-01-23 20:01:55 601

原创 红黑树的添加后和删除后维持平衡

学习红黑树前推荐先去了解B 树红黑树红黑树也是一种自平衡二叉搜索树,也叫做平衡二叉B树。红黑树必须满足以下性质节点是Red或者Black根节点是Black叶子结点,外部节点,空节点都是Black红色节点的子节点都是黑色节点(红色节点的父节点都是黑色)(从根节点到叶子结点的所有路径上不能有两个连续的红色节点)从任一节点到叶子结点的所有路径都包含相同数目的黑色节点。红黑树的等价变换红黑树和4阶B树具有等价性黑节点和和红节点融合在一起形成一个B树节点红黑树的黑节点的个数和4阶B树的

2021-01-19 09:11:43 242 1

原创 B树上溢和下溢

B树上溢和下溢

2021-01-19 09:09:04 1102

原创 AVL树

AVL树,左旋,右旋操作细节

2021-01-19 09:07:41 119

原创 浅谈垃圾回收

JVM内存区域要想搞懂啊垃圾回收机制,首先就要知道垃圾回收主要回收的是哪些数据,这些数据主要在哪一块区域。Java8和Java8之前的相同点有很多。都有虚拟机栈,本地方法栈,程序计数器,这三个是线程隔离的也称是线程独有的;本地内存和堆是线程共享的。Java8和之前JVM内存区域不同的是,Java8中增加了元空间,取消了永久代,Java8之前永久代是在堆中的,而之后方法区搬到了元空间中,元空间存在于本地内存中。下面详细说一下各个内存区域的特点。虚拟机栈:描述的是方法执行时的内存模型,是线程私有

2021-01-15 15:26:23 140

原创 40029, 错误信息:code 无效,微信原始报文:{“errcode“:40029,“errmsg“:“invalid code, hints: [ req_id: RhfaCNNre-

错误提示信息40029, 错误信息:code 无效,微信原始报文:{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: RhfaCNNre-小程序段显示的是请求失败,无效的验证码。解决方法出现的原因可能是微信小程序APPID配置有误,最容易出现的是后端SpringBoot配置文件中的APPID和小程序段项目打开时生成的APPID不一致造成的。后来更改后可以进行访问,发送code和AppID成功接收。参考:微信开发平台讨论区

2021-01-11 15:57:31 12248 1

原创 大数据理论知识

大数据理论知识Hadoop大数据的四大特征:海量数据、价值密度低、数据类型多样、数据更新快。hadoop生态圈:HDFS、 MapReduce、 HBASE、 HIVE、 ZOOKEEPER、 PIG、 SQOOP、 Flume、 MAHOUT、 YARNhadoop启动后6个进程:Namenode、 SecondaryNamenode、 DataNode、 ResourceManager、 NodeManager、 jps。Hadoop高可靠,高容错,运行在Linux上。DataNode负责存储

2020-12-29 21:22:52 2087

原创 算法实验四-01背包问题

实验名称动态规划(0/1背包)实验目的1.掌握动态规划的基本思想;2.学习写动态规划递推方程;3.编写动态规划算法。实验内容采用动态规划法求解0-1背包问题。实验环境操作系统:Win10;编程语言:Java;开发工具:IDEA;问题描述有n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?总体思路根据动态规划解题步骤(问题抽象化、建立模型、寻找约束条件、判断是否满足最优性原理、找大问题与小问题的递推关系式、填表、寻找解组成)找出01

2020-12-28 10:48:11 773

原创 换酒问题

酒瓶换酒问题,不能向商家借酒。

2020-12-21 14:35:48 164 1

原创 计网的基础题总结

计算机网络基础题总结一、填空题1、 三网指的是电信网络、有线电视网络和____计算机网络__。2、按照网络的作用范围可分为广域网、城域网,(局域网)和个人区域网。3、在数据通信中,按照信号传送方向与时间的关系,信道的通信方式可以分为三种,即单工、 半双工 和_____全双工______通信。4、数据链路层使用的信道有两种类型点对点信道和____广播信道______。5、实现物理层和数据链路层功能的主要部件是____网络适配器或网卡。6、192.23.0.9属于____C_______类IP地址

2020-12-21 11:28:44 977

原创 TCP如何实现可靠传输和流量控制

传输层与应用层之间的内在联系以及TCP如何实现可靠传输和流量控制

2020-12-14 15:53:52 1136

原创 计算机网络-网络层总结

网络层提供的两种服务虚电路服务思路:可靠通信应当由网络来保证。必须建立连接。终点地址:仅在连接建立阶段使用,每个分组使用短的虚电路号。分组转发:属于同一条虚电路的分组均按照同一路由,进行转发。分组的顺序:总是按发送的顺序到达终点。端到端的差错处理和流量控制:可以交给网络负责,也可以由用户主机负责。当节点出现故障时:所有通过出故障的节点的虚电路均不能工作。数据报服务思路:可靠通信由用户主机来保证。不需要建立连接。每个分组都有终点的完整地址。每个分组独立选择路由进行转发。当出现故障

2020-12-14 15:43:13 737

原创 Java通过基姆拉尔森公式判断当前日期是不是工作日

基姆拉尔森公式算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。判断当前日期是不是工作日Java实现工作日:周一 —— 周五如果是工作日返回true,不是返回false。 /** * 判断一个日期是不是工作日

2020-12-11 10:46:45 709

bookShop.rar

网络书城javaweb,xiao demo 测试 jsp+servlet,tomcat9,mysql5.5,js+css

2019-11-22

空空如也

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

TA关注的人

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