自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 vscode 搭建C++ 环境亲测可用

http://c.biancheng.net/view/8114.html

2021-06-17 01:05:24 130

原创 Nginx(二)

这里写目录标题二级目录二级目录下载静态资源包wget http://dlib.net/files/dlib-19.22.tar.bz2解压静态资源tar jxvf dlib-19.22.tar.bz2将静态文件拷贝到nginx下tar jxvf dlib-19.22.tar.bz2

2021-05-24 22:47:49 180

原创 Nginx(一)

Nginx(一)Nginx 的主要应用场景Nginx 的主要优点Nginx 的主要优点Nginx 的版本介绍 Nginx 目录并编译下载NginxautoCHANGES文件conf文件configure脚本contrib文件html目录man目录src 目录编译NginxNginx 配置语法Nginx 命令:重载,热部署,日志切割重载配置文件热部署日志切割Nginx 的主要应用场景静态资源服务反向代理服务API服务Nginx 的主要优点高并发,高性能可扩展性 - 模块化设计高可靠性 -

2021-05-23 23:54:28 232

原创 Nginx 使用./nginx -s reload报错 [error] open() “/opt/nginx/logs/nginx.pid“ failed (2: No such file or di

当使用./nginx -s reload重启时报错。这是我新编译的nginx将pid打开保存后在sbin路径下执行./nginx -c /opt/nginx/conf/nginx.conf最后执行./nginx -s reload 就OK了

2021-05-23 22:46:40 553

原创 ubuntu Nginx 编译报错 the HTTP rewrite module requires the PCRE library

安装 pcre 包、opensslsudo apt-get updatesudo apt-get install libpcre3 libpcre3-devsudo apt-get install openssl libssl-dev重新编译成功

2021-05-23 16:06:26 178

原创 MyBatis--解析器模块

MyBatis--解析器模块解析器模块概述XPathParser构造方法解析器模块概述解析器模块 对应着 parsing 包解析器模块,主要提供了两个功能对XPath进行封装,为MyBatis初始化时解析mybatis - config.xml 配置文件以及映射配置文件提供支持对了处理动态 sql 语句中的占位符提供支持XPathParser基于 Java XPath 解析器,用于解析 MyBatis mybatis-config.xml 和 **Mapper.xml 等 XML 配置文

2021-05-20 17:58:56 483 1

原创 mybatis--项目结构

mybatis--项目结构目录目录代码统计插件 https://plugins.jetbrains.com/plugin/4509-statistic/versions

2021-05-08 14:16:44 519

原创 mybatis--环境搭建

mybatis--环境搭建fork项目调试mybatis-config.xmlAutoConstructorMapper.xmlCreateDB.sqlPOJOAutoConstructorTestfork项目https://github.com/mybatis/mybatis-3 Fork 到自己的仓库使用 idea clone ssh 到本地调试在test的AutoConstructorTest中进行测试mybatis-config.xml<?xml version="1.0" e

2021-05-07 22:44:27 195 3

原创 源码-ArrayList

ArrayList 实现了四个接口RandomAccessSeralizableListCloneableRandomAccess接口RandomAccess 是一个空的接口 他是一个标记接口RandomAccess 接口是 List 实现 使用的标记接口,用来表明其支持快速(通常是固定时间)随机访问。此接口的主要目的是允许一般的算法更改其行为,从而在将其应用到随机或连续访问列表时能提供良好的性能如果 List 子类实现了 RandomAccess 接口,那表示它能快速随机访问存储的元.

2021-05-07 17:31:21 216 1

原创 安装mysql图形化管理工具Workbench

安装mysql图形化管理工具Workbench安装与配置安装与配置下载mysql 链接如下https://dev.mysql.com安装mysql 选择版本安装Workbench打开后如下点击登陆创建数据表第一步:录入 Excel 数据第二步:导入csv...

2021-04-09 16:24:26 137

原创 并发编程相关与线程安全

并发编程相关与线程安全常用线程安全类型ListArrayListLinkedListList线程安全的简单方法CopyOnWriteArrayListMapHashMapLinkedHashMapConcurrentHashMap-Java7 分段锁ConcurrentHashMap-Java8常用线程安全类型JDK基础数据类型与集合类Vector就是一个ArrayList ,ArrayList线程不安全,Vector线程安全(sychronize)java存在两种 一种是线性的数据结构,并一种是字

2021-03-30 22:01:08 121

原创 Java并发包

Java并发包JDK核心库包并发包java.util.concurrent(JUC)什么是锁并发原子类java.util.atomic![在这里插入图片描述](https://img-blog.csdnimg.cn/20210328185129616.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTIzMjE2Ng==,siz

2021-03-29 11:02:10 2435

原创 java并发编程

java并发编程多线程基础为什么会有多线程java多线程*线程的中断和异常处理线程安全*并发相关的性质synchronized 的实现volatilefinal多线程基础为什么会有多线程本质原因是摩尔定律失效->多核+分布式时代的来临硬件发展快CPU 计算能力强为什么会有多线程SMP:对称内存结构CPU和内存不是直接打交道而是通过BUS数据总线来打交道。32 和 64位 不是光由CPU决定的 如果BUS是32为CPU64为还是32位 通过总线来交流NUMA 非一致内存访问CPU架构

2021-03-25 16:43:47 101

原创 NIO

NIO什么是高性能高性能的副作用应对策略事件处理机制什么是高性能高并发用户 系统外部 用户的引用角度高吞吐量 系统内部角度 TPS低延迟高并发用户 业务指标高吞吐量 低延迟 技术指标延迟和响应时间的区别延迟针对系统响应针对客户高性能的副作用系统复杂度 x10以上建设与维护成本+++故障和BUG导致的破坏性x10以上应对策略1 容量当高并发来的时候服务器能否抗的住,吞吐量是否够2 爆炸半径当修改了代码,产生bug,确定影响的模块范围3 工程方面积累与改进事件处理机

2021-03-24 23:35:52 129 2

原创 NIO模型和Netty入门

NIO模型和Netty入门1.Java Socket编程:如何基于Socket 实现 Server2.深入探讨IO:Server 处理时到底发生了什么3.IO模型与相关概念:怎么理解 NIO4.Netty框架简介:什么是 Netty5.Netty 使用实例:如何使用 Netty 实现 NIO6.总结1.Java Socket编程:如何基于Socket 实现 ServerSocket通讯模型即IO,如图中的 input 和 output 一样 ,输入输出就是IO,任何的计算机程序 都可以分成三部分即1.

2021-03-08 15:38:43 197 1

原创 SpringCloud-Eureka(服务注册中心)

SpringCloud-服务注册中心注册中心介绍为什么需要注册中心?什么是Eureka注册中心?Eureka 搭建Eureka 的基本搭建Eureka 集群的搭建注册中心介绍Eureka是SpringCloud中的注册中心,类似Dubbo中的Zookeeper。为什么需要注册中心?单体应用中,所有业务都集中在一个项目中,当用户从浏览器发起请求,直接前台请求后端,后端调用业务逻辑给前端做出响应,完成一次调用。整个调用过程是呈直线的,不需要服务之间的(单体应用也没有服务之间)中转。所有没有必要引入Eu

2021-02-19 15:30:18 891 4

原创 刷官方中文angularJs手册例子

刷angularJsHello WorldHello AngularJS World!AngularJS应用的解析模板(Templates)应用程序逻辑(Logic)和行为(Behavior)模型数据(Data)此外,AngularJS还提供了一些非常有用的服务特性:搭建学习环境app/index.html引导AngularJS应用更改表达式内容AngularJS模板模型和控制器测试迭代器双向绑定Hello World<!doctype html><html ng-app>

2020-12-14 16:49:54 183

原创 BUG控制台打印sql

application.properties文件中加入以下语句mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

2020-11-27 11:59:20 81

原创 BUG 输入中文数据库字段报错

先更改表的在改字段alter table userinfo change sex sex varchar(50) charset utf8; show create table userinfo; CREATE TABLE `userinfo` ( `id` int(11) NOT NULL, `sex` varchar(255) CHARACTER SET latin1 DEFAULT NULL, `phone` varchar(255) CHARACTER SET la.

2020-11-26 13:45:07 128

原创 JVM-JVM内存

字节码 三种类加载器 加载到 java内存中 对象new之后JVM内存结构JVM内存结构图JVM内存大体结构JVM内存结构JVM内存结构图jvm是基于堆栈 new的对象都在堆 因为对象有生命周期周期较长,一个方法执行完了 栈和结构可能就不需要了 线程的栈可能更短每一个线程都只能访问自己的线程栈每一个线程都不能访问其他线程的局部变量所有原生类的局部变量都存储在线程栈中,因此对其他线程是不可见的线程可以将一个原生变量值的副本传给另一个线程,但是不能共享原生局部变量本身堆内存中包含了java代码

2020-10-28 00:21:22 112

原创 JVM-Java类加载器

JVM-Java类加载器执行顺序归档与执行java程序的第一步就是加载class文件1.类的生命周期和加载过程2. 类加载时机3. 类加载器机制执行顺序代码->编译->字节码(也可打包成Jar文件)->jvm加载需要的字节码,变成持久代/元数据区上的class对象->执行逻辑。归档与执行将 class 文件和java源文件归档到一个名为hello.jar 的档案中 jar cvf hello.jar Hello.class Hello.java归档的同时,通过 e 选

2020-10-27 23:07:06 399

原创 字节码

算数操作类型操作方法调用的指令invokestatic 用户调用某个类的静态方法 方法调用最快的一个invokespecial 用于调用构造函数 也可以调用同一个类中的private方法以及可见的超类方法invokevirtual 目标对象的公开的 后保护的方法子类 覆盖了 父类方法,实际调到的一定是子类方法 这就是虚方法 可以被覆盖的方法invokeinterface 通过接口引用来调用方法时invokedynamic 实现动态语言支持 也是支持jdk8支持lambda表达式的基础。

2020-10-19 21:21:47 51

原创 什么是面向对象编程和面向对象编程语言

面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石 。面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面向对象编程四大特性(封装、抽象、继承、多态)的编程语言。理解面向对象编程及面向对象编程语言两个概念,其中最关键的一点就是理解面向对象编程的四大特性。这四大特性分别是:封装、抽象、继承、多态。不过,关于面向对象编程的特性,也有另外一种说法,那就是只包含三大特性:封装、继承、多态,不包含抽

2020-10-15 12:48:24 1539

原创 面向对象、设计原则、设计模式、编程规范、重构的关系

这里写目录标题面向对象设计原则设计模式五者之间的联系面向对象1面向对象编程因为其具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式编码实现的基础。1 面向对象的四大特性:封装、抽象、继承、多态2 面向对象编程与面向过程编程的区别和联系3 面向对象分析、面向对象设计、面向对象编程4 接口和抽象类的区别以及各自的应用场景5 基于接口而非实现编程的设计思想6 多用组合少用继承的设计思想7 面向过程的贫血模型和面向对象的充血模型设计原则1 SOLID

2020-10-15 12:32:56 114

原创 Git

Git1 版本控制工具应该具备的功能2 Git 的优势3 Git 的结构4 Git 和代码托管中心5 本地库和远程库6 跨团队的协作7 Git 命令行操作1 版本控制工具应该具备的功能协同修改数据备份版本管理权限控制历史记录分支管理2 Git 的优势大部分操作在本地完成,不需要联网完整性保证尽可能添加数据而不是删除或修改数据分支操作非常快捷流畅与 Linux 命令全面兼容3 Git 的结构本地库(历史版本)git commit暂存区(临时存储)git add工作区(写代

2020-09-10 22:20:47 72

原创 微人事-基础信息设置-权限组前端页面制作

效果图:代码如下<template> <div> <div class="perMissManaTool"> <el-input size="small" placeholder="请输入角色英文名"> <template slot="prepend">ROLE_</template> </el-input>

2020-08-28 12:47:30 192

原创 编写一个最简单的Spring程序

编写一个最简单的Spring程序创建的网址创建的网址https://start.spring.io/Dependencies 添加依赖生成压缩包 使用idea打开

2020-08-19 13:05:44 392

原创 微人事-基础信息设置-职称管理批量删除

职称管理批量删除后端代码前端代码效果后端代码controller @DeleteMapping("/") public RespBean deleteJobLevelByIds(Integer[] ids) { if (jobLevelService.deleteJobLevelByIds(ids)==ids.length) { return RespBean.ok("删除成功"); } return RespBea

2020-08-17 00:53:12 492

原创 微人事-基础信息设置-职称管理前后端接口对接

职称管理前后端接口对接查询数据后端数据,前端存放的位置取得数据并放到data中添加数据给按钮添加事件删除数据删除在表格中操作,先设置点击事件编辑数据查询数据后端数据,前端存放的位置放在table的jls中 下一步就是取到后端数据 放到data中:data="jls"<template> <div> <div> <el-input size="small" v-model="jl.name" style="width: 3

2020-08-14 01:42:10 203

转载 ubuntu 搭建Gitlab服务器

https://www.jianshu.com/p/2eef885b4aed

2020-07-07 22:28:01 171

原创 微人事-基础信息设置-职称管理后端接口设计

职称管理后端接口设计查询接口新增接口更新接口删除接口controllerservice查询接口controller @GetMapping("/") public List<JobLevel> getAllJobLevels() { return jobLevelService.getAllJobLevels(); }service public List<JobLevel> getAllJobLevels() {

2020-07-02 00:21:54 185

原创 微人事-基础信息设置-职称管理前端页面设计

职称管理页面设计输入框和下拉框的制作表单完整代码效果图输入框和下拉框的制作 <div> <el-input size="small" v-model="jl.name" style="width: 300px" prefix-icon="el-icon-plus" placeholder="添加职称..."></el-input> <el-select v-model="jl.titleLevel" placeho

2020-07-01 23:42:36 321

原创 微人事-基础信息设置-职位批量删除操作

职位批量删除操作给服务端添加一个批量删除的接口前端添加一个批量删除按钮查看多选表格组件的写法添加多选回调最后看批量删除的click事件效果图给服务端添加一个批量删除的接口Controller因为是删除多个,所以id可以以数组的形式传过来,可以以字符串传过来 @DeleteMapping("/") public RespBean deletePositionsByIds(Integer[] ids){ if (positionService.deletePositions

2020-06-29 22:37:02 388

原创 微人事-基础信息设置-职位修改操作

职位修改操作选择组件并添加效果图后端更新选择组件并添加el-dialog标签 <div> <div> <el-input size="small" class="addPosInput" placeholder="添加职位..." prefix-icon="el-icon-plus"

2020-06-29 12:42:58 444

原创 微人事-基础信息设置-职位管理完善

1 已经关联数据没有办法删除的问题添加全局异常package com.akk.vhr.exception;import com.akk.vhr.model.RespBean;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.RestControllerAdvice;import java.sql.SQLException;

2020-06-22 12:56:24 173

原创 微人事-基础信息设置-职位管理

基础信息设置-职位管理后端接口postman测试前端画面后端接口RespBean的作用是返回告诉前端成功与否controllerpackage com.akk.vhr.controller.system.basic;import com.akk.vhr.model.Position;import com.akk.vhr.model.RespBean;import com.akk.vhr.service.PositionService;import org.springframework.b

2020-06-18 23:58:45 696

原创 微人事-基础信息设置

基础信息设置前端elementui的选项卡定义组件引用组件使用组件效果前端elementui的选项卡activeName的值 是默认打开的页 data(){ return{ activeName:'second' }<template> <el-tabs v-model="activeName" type="card"> <el-tab-pane label="

2020-06-10 23:21:36 241

原创 个人总结 Security权限控制总结 持续跟新

权限控制总结Security配置类第一 Security配置第二 自定义类第三 Security配置Security配置类第一 Security配置1)需要继承WebSecurityConfigurerAdapter2)WebSecurityConfigurerAdapter 有以下三个configure //配置身份认证来源,也就是用户及其角色。 来源的自定义类一定要实现UserDetails @Override protected void configure(Authe

2020-06-10 12:30:09 492

原创 微人事-权限管理继续完善

1 当用户直接输入地址的时候会被服务器要求重定向到http://localhost:8081/login 要求用户登录用才可以访问 当后端将http://localhost:8081/login返回给前端,前端会直接访问这个地址,就不经过node.js代理。没有代理就跨域了。解决1 在login的接口上使用@CrossOrigin注释解决2protected void configure(HttpSecurity http) throws Exception以上方法中加入以下代码

2020-06-09 00:12:06 215

原创 微人事-后端接口权限设计

后端接口权限设计思路实现思路表hr 用户表表hr_role表role 角色表menu 菜单表menu_role登录成功获取一个id 通过id获取角色 通过角色 知道可以操作哪些菜单/** 是ant风格的路径匹配符 /** 匹配0或者更多的目录/employee/basic/**用户从前台发送http请求->需要通过id获取角色 查看用户是否有权限访问该接口,在有权访问的url中去匹配(拿到http请求后分析地址和url中的哪一个地址是相匹配的)一级菜单不设置角色实

2020-06-08 18:06:10 731

空空如也

空空如也

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

TA关注的人

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