学习总结
文章平均质量分 50
ybqdren
这个作者很懒,什么都没留下…
展开
-
在CentOS7上安装Redis,并使用脚本运行Redis
安装Redis。将安装包上传到Linux操作系统上安装解压缩tar -zxvf redis-5.0.14安装依赖yum install gcc-c++编译进入redis的解压目录中,可以看到有一个Makefile文件:执行make:make当看到如下提示时,表示已经编译成功了:make: 从Makefile中读取指令,进行编译接下来可以直接进行安装:make installm原创 2021-12-11 20:51:19 · 1237 阅读 · 0 评论 -
全局使用Nginx指令:配置Nginx环境变量
我的CentOS7系统突然无法直接使用Nginx -v了,而是必须要到sbin目录下去执行Nginx -v才可以:经过搜索引擎的检索,发现是因为没有把nginx的路径加入到系统环境变量中,因此我们只需要把nginx的sbin路径放进去就行了。打开/etc/profile,增加Nginx的环境变量#Nginx enviromentexport NGINX_PATH=/usr/local/nginxexport PATH=$PATH:${JAVA_HOME}/bin:$PATH:${NGINX_P原创 2021-12-05 19:24:27 · 7767 阅读 · 0 评论 -
Nginx常用指令收集
收集Nginx常用指令。原创 2021-12-05 13:06:51 · 2094 阅读 · 0 评论 -
nginx.pid打开失败以及失效的解决方案
一、问题描述在我们平常使用nginx的时候,经常有可能会发现我们的pid找不到了,丢失了,这会导致一个错误,如下:nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) 或者是:nginx: [error] invalid PID number "" in "/var/run/nginx/nginx.pid"问题出现分析nginx.pid文件不存在;nginx.pid所在原创 2021-12-05 12:15:44 · 6733 阅读 · 0 评论 -
CentOS7配置Nginx默认首页过程解析
进入nginx/html目录:cd /usr/local/nginx/html/进入nginx/conf目录:cd ..cd conf查看nginx.conf (nginx的核心配置文件):vim nginx.conf#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info原创 2021-12-04 09:36:38 · 1333 阅读 · 0 评论 -
在CentOS7上安装并配置JDK
一、检查服务器中是否存在jdkjava -version如果是在自己在虚拟机上安装的centos7.x或centos6.x,则会默认帮你安装好OpenJDKF。二、新建jdk安装目录mkdir /usr/java三、上传jdk到opt/software目录四、解压jdktar -zxvf jdk-8u191-linux-x64.tar.gz五、将解压后的jdk拷贝到/usr/java目录mv jdk1.8.0_191/ /usr/java/六、原创 2021-11-28 11:22:54 · 401 阅读 · 0 评论 -
在CentOS7上快速安装Nginx
安装Nginx二、将Nginx安装包上传至Liunx系统使用XShell的文件传输工具:三、安装依赖环境1.安装gcc环境yum install gcc-c++2.安装PDRE库:用来解析正则表达式yum install -y pcre pcre-devel3.zlib压缩和解压缩依赖yum install -y zlib zlib-devel4.SSL安全的加密的套接字协议层:用于HTTP安全传输(https)原创 2021-11-28 10:29:15 · 256 阅读 · 0 评论 -
实战Spring中的八大事务
一、测试前的准备数据表结构:1. StuServicepackage com.ybqdren.service;import com.ybqdren.pojo.Stu;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/9/15 */public interface StuService { public Stu getStuInfo(int id); public void saveStu();原创 2021-11-27 11:54:20 · 1253 阅读 · 0 评论 -
Windows10环境下的Rust环境安装以及VSCode开发环境配置
在Windows10上安装Rust。原创 2021-11-13 19:43:45 · 2922 阅读 · 0 评论 -
Java实现线性查找法,并对进行性能检测
在静态型数据源中进行线性查找package linearsearch;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/8/29 * * 线性查找法实现 在data数组中查找16 * * input: 数组,和目标元素 * output: 目标元素所在的索引;若不存在,返回-1 */public class LinearSearch { public static void main(String[] args)原创 2021-11-07 18:41:55 · 124 阅读 · 0 评论 -
Expressing Requirements with User Stories:用 User Stories来表达需求
User StoriesOnce a requirement is elicited, it needs to be expressed in some form. One technique for expressing a requirement is called a user story. A user story is simply a requirement, often from the perspective of an end-user, which is stated in natur原创 2021-11-06 22:00:41 · 94 阅读 · 0 评论 -
哪些情况会导致操作字符串 数组和集合时出现Java空指针
场景复现package com.github.ybqdren;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/11/6 * <h1>字符串 数组 集合在使用时使用空指针</h1> */public class BasicUsageNpe { private static boolean StringEquals(String x,String y){ return x.equals原创 2021-11-06 07:37:24 · 227 阅读 · 0 评论 -
哪些情况会导致赋值时自动拆箱出现Java空指针,以及如何避免这些情况
包装器的类型可能产生空指针的场景场景复现package com.github.ybqdren;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/11/6 * <h1>自动拆箱引发的空指针问题</h1> */@SuppressWarnings("all")public class UnboxingNpe { public static void main(String[] args) {原创 2021-11-06 07:25:36 · 558 阅读 · 0 评论 -
总结Java NullPointerException 异常出现情况,以及如何从根源上避免空指针异常
空指针异常是什么?空指针异常(java,lang.NullPointException)可能产生空指针的场景场景复现package com.github.ybqdren;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/11/3 * * <h1>理解什么是空指针</h1> */public class WhatIsNpe { public static class User{原创 2021-11-04 11:10:05 · 511 阅读 · 0 评论 -
简单复习Java8性特性Lambda表达式与foreach循环
今天看到一个foreach写法,还以为是混了kotlin代码。结果上网一搜,发现是Java8新特性之一!一、新特性之一:foreach世界上最远的距离不是生和死,而是别人已经用上了foreach,而我还在使用增强for循环传统的for循环无外乎两种:1.就是普通的for循环 Map<Integer,String> map = new HashMap<>(); map.put(1,"面向对象编程"); .原创 2021-07-13 11:23:12 · 1126 阅读 · 0 评论 -
LeetCode:450. 删除二叉搜索树中的节点
一、题目题目:450. 删除二叉搜索树中的节点难度:中等地址:https://leetcode-cn.com/problems/delete-node-in-a-bst/使用语言:Java解法关键词:递归、BST搜索+删除二、代码针对BST的删除操作需要考虑到:删除时不能破坏BST的特性/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode l原创 2021-04-01 17:23:37 · 93 阅读 · 0 评论 -
LeetCode:701. 二叉搜索树中的插入操作
一、题目题目:701. 二叉搜索树中的插入操作难度:中等地址:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/使用语言:Java解法关键词:递归、BST搜索+插入二、代码结合BST的构成特点:左子树永远小于右子树,可以构造递归搜索的方法。当搜索到传入的root值为null时,就以为这此处可以插入我们的新值。/** * Definition for a binary tree node. * publ原创 2021-03-31 09:48:12 · 118 阅读 · 1 评论 -
LeetCode:700. 二叉搜索树中的搜索
一、题目题目:700. 二叉搜索树中的搜索难度:简单地址:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/使用语言:Java二、代码利用BST 的特性:1、对于 BST 的每一个节点 node,左子树节点的值都比 node 的值要小,右子树节点的值都比 node 的值大。2、对于 BST 的每一个节点 node,它的左侧子树和右侧子树都是 BST。/** * Definition for a binary原创 2021-03-30 11:15:21 · 78 阅读 · 0 评论 -
LeetCode:146. LRU 缓存机制
一、题目题目:146. LRU 缓存机制难度:中等地址:https://leetcode-cn.com/problems/lru-cache/使用语言:Java二、代码1. 利用Java 集合APIclass LRUCache { /* 在这个过程中,要让put和get方法的实践复杂度为(i) cache这个数据结构必备的条件如下: 1.显然`cache`中的元素必须有时序,以区分最近使用和久未使用的数据,当容量满了之后要删除久未使用的元素,为后面原创 2021-03-13 14:59:10 · 133 阅读 · 0 评论 -
解决Gradle构建项目中文报GBK错误问题
问题出现初次使用Gradle构建Java项目,在构建时发现注释里面的中文引起了一个GBK错误问题解决直接在当前项目的build.gradle文件中添加如下配置:tasks.withType(JavaCompile) { options.encoding = "UTF-8"}上面方法是用一个项目配置一次,暂时还没有去查全局解决的配置...原创 2021-02-23 10:24:16 · 3053 阅读 · 1 评论 -
Gradle安装与配置
在配置Gradle环境之前,需要先检查是否配置Java环境,因为Gradle是由Groovy语言开发的,而Groovy是一种在JVM上运行的语言,因此需要Java环境。一、下载在官网中下载Gradlehttps://gradle.org/next-steps/?version=6.8.2&format=bin官网中也提供了完善的API文档,方便查阅https://docs.gradle.org/6.8.2/javadoc/二、环境变量配置配置GRADLE_HOME,这里就是.原创 2021-02-22 10:56:51 · 1078 阅读 · 0 评论 -
LeetCode:654. 最大二叉树
一、题目题目:654. 最大二叉树难度:中等地址:https://leetcode-cn.com/problems/maximum-binary-tree/使用语言:Java二、代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} *原创 2021-02-19 13:34:52 · 58 阅读 · 0 评论 -
LeetCode:114. 二叉树展开为链表
边看春晚边刷一、题目题目:114. 二叉树展开为链表难度:中等地址:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/使用语言:Java二、代码class Solution { public void flatten(TreeNode root) { // 实际上是前序遍历 toLinkedList(root); } public TreeNo.原创 2021-02-11 22:46:29 · 90 阅读 · 0 评论 -
LeetCode:116. 填充每个节点的下一个右侧节点指针
边看春晚边刷一、题目题目:116. 填充每个节点的下一个右侧节点指针难度:中等地址:https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/使用语言:Java二、代码class Solution { public Node connect(Node root) { if(root == null){ return null; .原创 2021-02-11 21:39:02 · 118 阅读 · 0 评论 -
LeetCode:226. 翻转二叉树
废狗写了三十多分钟,终于写出来了一、题目题目:226. 翻转二叉树难度:简单地址:https://leetcode-cn.com/problems/invert-binary-tree/使用语言:Java二、代码class Solution { public TreeNode invertTree(TreeNode root) { if(root == null){ return null; } .原创 2021-02-11 10:07:54 · 63 阅读 · 0 评论 -
LeetCode:665. 非递减数列
2月7号每日一题,今天解决,原来也是想以数组解决,然后参考了官方题解一、题目题目:665. 非递减数列难度:简单地址:https://leetcode-cn.com/problems/non-decreasing-array/使用语言:Java二、代码class Solution { public boolean checkPossibility(int[] nums) { // 判定 根据连续子串判定 然后看中断的位置有几处 for(int .原创 2021-02-10 23:14:58 · 93 阅读 · 0 评论 -
LeetCode:234. 回文链表
一、题目题目:234. 回文链表难度:简单地址:https://leetcode-cn.com/problems/palindrome-linked-list/使用语言:Java二、代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) {原创 2021-02-07 16:29:57 · 116 阅读 · 1 评论 -
LeetCode:25. K 个一组翻转链表
一、题目题目:25. K 个一组翻转链表难度:困难地址:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/使用语言:Java二、代码 public ListNode reverse(ListNode a,ListNode b){ ListNode pre = null; ListNode cur = a; ListNode next = b; while.原创 2021-02-06 17:24:13 · 71 阅读 · 0 评论 -
LeetCode:92.反转链表 II
开始系统的刷leetcode了,加油加油!一、题目题目:92. 反转链表 II难度:中等地址:https://leetcode-cn.com/problems/reverse-linked-list-ii/二、代码/** * Created by Zhao Wen on 2021/2/4 * 92 反转链表 */public class _92 { // 下一个结点存放 ListNode nextNode = null; public ListNod.原创 2021-02-04 22:22:46 · 87 阅读 · 0 评论 -
使用Java爬虫爬取蓝调口琴网 口琴曲谱与伴奏资源
一、写在前面因为自己有蓝调口琴曲谱采集需求,于是就断断续续花了大概一周的时间写了这个爬虫。目前只能采集蓝调口琴曲谱和伴奏音频,后续会慢慢添加文字教程与视频教程的爬取。PS:这里我使用到了Cookie来获取查看权限,所以这个爬虫也只面向有会员权限的小伙伴使用。二、细节介绍1.登录采用Cookie验证的方式登录: httpGet.setHeader("Cookie", prop.getProperty("Cookie")); httpGet.setHeader("User-Agent", .原创 2021-01-27 15:47:10 · 1763 阅读 · 9 评论 -
更新中..收集全网的优质Golang学习资源
慢慢更新# 文字教程## 1.[Go语言中文教程](http://www.topgoer.com/)## 2.[李文周的博客](https://www.liwenzhou.com/posts/Go/go_menu/)## 3.[Go编程时光](http://golang.iswbm.com/en/latest/index.html)## 4.[C语言中文网-Go语言教程](http://c.biancheng.net/golang/)## 5.[learnku-Go入门指南].原创 2021-01-19 09:08:37 · 291 阅读 · 0 评论 -
Golang开发项目目录简介以及目录结构设置规范
一、Golang项目简单介绍Golang简单的目录结构如下:其中,bin用来存放经过go bulid后的可执行文件,pkg存放编译后的go module,而src就存放我们项目的代码二、三种常用目录结构1、适合个人开发者2、流行的目录结构3、企业开发常用目录结构三、参考文档topgoer.com...原创 2021-01-17 10:26:29 · 3725 阅读 · 0 评论 -
Golang环境变量
Windows平台下找到cmd,输入`go env`即可查看golang环境配置详情C:\Users\erbin>go envset GO111MODULE=set GOARCH=amd64 // GOARCH表示目标处理器架构set GOBIN= // GOBIN表示编译器和链接器的安装位置set GOCACHE=C:\Users\erbin\AppData\Local\go-buildset GOENV=C:\Users\erbin\AppData\Roaming\go\en.原创 2021-01-17 10:15:33 · 210 阅读 · 0 评论 -
Java数据库连接池c3p0、dbcp和dbutils工具类的使用详解
一、数据库连接池的简单介绍1.数据库连接池简介在系统初始化时,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况。数据库连接池工作原创 2021-01-16 19:43:06 · 804 阅读 · 0 评论 -
解决Goland运行Go程序报错:该版本的 %1 与你运行的 Windows 版本不兼容
一、报错详情Error running 'go build awesomeProject (1)': Cannot run program "C:\Users\erbin\AppData\Local\Temp\___go_build_awesomeProject__1_.exe" (in directory "G:\Language Proctice\Goworks\src\awesomeProject"): CreateProcess error=216, 该版本的 %1 与你运行的 Windows 版原创 2021-01-15 22:44:34 · 8467 阅读 · 2 评论 -
PHP基础语法学习与代码实践
学校老师讲课内容,再此整理到一起<?php /**PHP变量的命名规则: 1.变量名不能以数字开头 2.变量名开头可以以下划线开始 3.声明变量开头用美元符号$ 4.变量名由字母小写a-z 大写A-Z _下划线 数字0-9组成 php的变量名区分大小写 **/ /** 1.数学运算符 **/ $zhang = 1000; $li = 1; $zhang=$zhang-$li; echo ..原创 2020-12-23 01:01:58 · 109 阅读 · 0 评论 -
Android常用布局简单示例
Android程序中界面是通过布局文件设定的一、线性布局在实际开发中比较常用,主要以水平和垂直方式来显示界面中的控件。其中vertical表示线性布局垂直显示,horizontal表示线性布局水平显示水平显示(默认)<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http..原创 2020-12-21 00:32:10 · 1001 阅读 · 0 评论 -
Java虚拟机运行机制与相关概念
文章目录JVM组成一个Java文件的执行过程Java进程与jvm虚拟机的关系jvm线程与系统原生线程1.关系jvm内存区域1.线程私有区域:2.线程共享区域:2.直接内存程序计数器:线程私有,无内存溢出问题虚拟机栈:线程私有,描述Java方法的执行过程本地方法区:线程私有堆:也叫做运行时数据区,线程共享方法区:线程共享JVM的运行内存1.新生代2.MinorGC:新生代的gc过程3.老年代永久代2.垃圾确认方法引用计数法可达性分析3.Java中常用的垃圾回收算法- 标记清除算法- 复制算法- 标记整理算..原创 2020-11-27 21:33:55 · 342 阅读 · 0 评论 -
Hibernate持久化生命周期简单介绍
当应用通过调用Hibernate API与框架进行交互时,需要从持久化的角度关注应用对象的生命周期。持久化生命周期是Hibernate中的一个关键概念,正确地理解生命周期,可以更好地了解Hibernate的实现原理,掌握Hibernate的正确用法。一、三种状态Hibernate框架通过Session来管理Java对象的状态,在持久化生命周期中,Java对象存在以下3种状态。1.瞬时状态(Transient)瞬时状态又称临时状态。如果Java对象与数据库中的数据没有任何的关联,即此Java对象原创 2020-11-25 19:31:16 · 165 阅读 · 0 评论 -
第一个Spring boot项目:SpringBoot基础配置入门与实践
一、一个简单的Spring Boot项目Spring MVC的视图解析器的作用主要是定位视图,也就是当控制器只是返回一个逻辑名称的时候,是没有办法直接对应找到视图的,这就需要视图解析器进行解析了。1.在pom.xml中加入JSP和JSTL的依赖包 <dependencies> <!-- Spring Boot Starter依赖引入 --> <!-- AOP包 --> <d..原创 2020-11-24 19:23:47 · 148 阅读 · 0 评论