- 博客(78)
- 收藏
- 关注
原创 递归生成树形结构菜单
public List<CategoryEntity> listWithTree() { //1、查出所有菜单 List<CategoryEntity> categoryEntities = categoryDao.selectList(null); //2、组装成父子的树形结构 //2.1 找到所有的一级分类 List<CategoryEntity> level1Menus.
2020-12-22 19:48:14 615
原创 基于linkedHashMap实现的LRU算法
package com.alibaba.druid.util;import java.util.LinkedHashMap;import java.util.Map;public class LRUCache<K, V> extends LinkedHashMap<K, V> { private static final long serialVersi...
2019-10-04 15:40:40 233
原创 Mysql 练习题
练习数据数据表–1.学生表Student(SId,Sname,Sage,Ssex)–SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别–2.课程表Course(CId,Cname,TId)–CId --课程编号,Cname 课程名称,TId 教师编号–3.教师表Teacher(TId,Tname)–TId 教师编号,Tname 教师姓名–4.成绩表...
2019-09-08 09:57:27 848
原创 Github上10个开源免费且优秀的后台控制面板
Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 Github 上收集了一些优秀的后台控制面板,并总结得出 Top 10AdminLTEGithub Star 数 24969 , Github 地址:https://github.com/almasaeed2...
2019-07-04 15:08:38 541
原创 Java的强引用、软引用、弱引用和虚引用
Java执行GC判断对象是否存活有两种方式其中一种是引用计数。引用计数:Java堆中每一个对象都有一个引用计数属性,引用每新增1次计数加1,引用每释放1次计数减1。在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于(reachable)可达状态,程序才能使用它。从JDK 1.2版本开始,对象的引用被划分为4种级别,从而使程序能更...
2019-07-01 17:17:11 155
原创 centos 7 安装Erlang
1.安装Erlang编译依赖yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget2.下载Erlangwget http://www.erlang.org/download/otp_src_19.3.tar.gz3.解压并安装tar -xzvf otp_src_19.3.tar.g...
2019-06-19 22:05:46 1037
原创 Java7_8+中的+HashMap+和+ConcurrentHashMap+全解析
网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMap,大部分文章都说不清楚。终归是希望能降低大家学习的成本,不希望大家到处找各种不是很靠谱的文章,看完一篇又一篇,可是还是模模糊糊。阅读建议:四节基本上可以进行独立阅读,建议初学者可按照 Jav...
2019-06-07 15:29:16 176
原创 Java并发知识总结
1、什么是进程、线程?进程:进程是系统分配资源的最小单位,电脑中运行的一个程序就是一个进程,比如QQ打开后,就会有一个进程线程:线程是比进程更小的单位,是CPU调度的最小的单位,在一个进程中可以划分多个进程,这些进程,共享进程的堆区和方法区的共享资源,但他们都有各自的虚拟机栈,程序计数器,本地方法栈,这些线程之间的切换比进程之间的切换快很多,所以线程也叫轻量级的进程。2、什么是线程安全和...
2019-06-04 17:18:13 275
原创 vi/vim编辑器常用的操作
Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim也是许多linux自带的编辑器,想要玩好linux,vim一定是要熟练使用的,利用好vim会让我们事半功倍vi的基本使用方法及其相关命令vim编辑器的三种模式:一般模式、编辑模式和命令行模式。在一般模式中可以进行删除、复制和粘贴的功能,但是无法编辑文件内容。从一般模式...
2019-05-24 14:45:40 356
原创 Linux基础
一、常用操作以及概念快捷键Tab:命令和文件名补全;Ctrl+C:中断正在运行的程序;Ctrl+D:结束键盘输入(End Of File,EOF)求助1. --help指令的基本用法与选项介绍。2. manman 是 manual 的缩写,将指令的具体信息显示出来。当执行 man date 时,有 DATE(1) 出现,其中的数字代表指令的类型,常用的数字及其类型如下:代号类型1...
2019-05-24 08:22:19 640
原创 计算机操作系统高频面试总结
1.进程和线程的区别 1.进程是资源分配的最小单位,线程是程序执行的最小单位。 2.进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开...
2019-05-23 08:48:30 457
原创 Jvm 知识点总览
0.jvm 总体梳理jvm体系总体分四大块: 类的加载机制 jvm内存结构 GC算法 垃圾回收 GC分析 命令调优1.类的加载机制主要关注点: 什么是类的加载 类的生命周期 类加载器 双亲委派模型什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Cl...
2019-05-22 15:57:37 132
原创 tomcat安装SSL安全证书
首先,不知道你有没有发现,有时你在浏览器访问一个网址时,例如(www.hzelin.top),你会发现网址左边是个 X不安全(表示该链接不安全,使用的是http未加密协议),而有时你访问一个网址的时候发现地址左边是https://(表示该链接是安全的,使用https加密协议,特别是做小程序的,一定需要https访问的),那这个是怎么实现的呢?SSL证书安装 ----各版本tomcat安装安全...
2019-05-17 18:25:12 237
原创 聚集索引与非聚集索引
聚集索引 聚集索引就是存放的物理顺序和列中的顺序一样。一般设置主键索引就为聚集索引。 一个没加主键的表,它的数据无序的放置在磁盘存储器上,一行一行的排列的很整齐。如果给表上了主键,那么表在磁盘上的存储结构就由整齐排列的结构转变成了树状结构,也就是平衡树结构,换句话说,就是整个表就变成了一个索引,也就是所谓的聚集索引。 这就...
2019-05-14 12:49:20 160
原创 MySQL的InnoDB索引原理详解
摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。 这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解,描述不准确的地方烦请指...
2019-05-14 12:01:55 144
原创 MySql数据库知识点总结01
数据库架构MySql数据库从大的方面可以分为两大部分,分别为底层的存储系统也就是文件系统,和上层的程序实例组成,程序实例有存储管理、缓存管理、日志管理、权限管理、容灾管理、SQL解析、索引、锁等程序实:存储管理、缓存管理、日志管理、权限管理、容灾管理、SQL解析、索引、锁等存储:文件系统调优InnoDB和MyISAM...
2019-05-13 09:33:25 179
原创 Java后台开发面试考点汇总
一、JavaSE部分❤1、Java基础1、为什么重写equals还要重写hashcode2、说一下map的分类和常见的情况3、Object若不重写hashCode()的话,hashCode()如何计算出来的?4、==比较的是什么?5、若对一个类不重写,它的equals()方法是如何比较的?6、java8新特性7、说说Lamda表达式的优缺点。8、一个十进制的数在内存中是怎么存的?...
2019-05-12 17:02:06 376
原创 TCP、UDP、HTTP
TCP和UDP的区别TCP:TCP和UDP都是传输层的协议,但TCP是面向连接的传输协议,是可靠的传输,在传输的时候需要建立连接,只能是一对一的传输,是有序的传输UDP:UDP是面向无连接的传输层协议,传输时只需要发送数据,并不建立连接,也不管数据是否丢失,但UDP的头部信息比TCP少,传输的速度比TCP块,多用在实时的系统中比如语音聊天之类的对数据完整性不是特别严格的场合HTTPHTTP...
2019-05-07 15:54:50 114
原创 "三次握手"和"四次挥手"
在建立TCP连接时需要三次握手,在断开连接时需要四次挥手三次握手第一次握手: 客户端向服务端发送SYN包{SYN=1,seq=x},客户端进入SYN_SENT状态第二次握手: 服务端向客户端发送应答的ASK包和SYN包{ASK=1,SYN=1,ask=x+1,seq=y},服务端进入SYN_RCVD状态第三次握手: 客户端向服务端发送应答的ASK包{ASK=1,ask=y+1,seq...
2019-05-06 21:40:20 241
原创 计算机网络基础之OSI参考模型
1 OSI参考模型 OSI参考模型的七层分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层、1.1 为什么要分层分层可以让网络通信系统更加的灵活,每层之间用接口连接,每一层互补干扰,即使有一层发生了改变,但整个系统不受影响比如上图的通话系统分为语言层和通信设备层,如果把通信设备层的电话机换成无线电照样可以实现通话,同样的把语言层的汉语变成英语,也可以实现通话1....
2019-05-06 09:44:06 1209
原创 Spring+Quartz最简单的HelloWorld入门示例
实现的效果,定时执行有关Quartz不做介绍,可自行学习首先添加依赖spring相关的依赖根据自己的版本添加,注意要加spring-context-support的依赖,版本和spring的版本保持一致就可以了 <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --> <d...
2019-04-30 10:52:05 290
原创 java如何利用google的zxing生成二维码,只需要两步,超级简单
实现的效果,在页面中直接引入<html> <body> <img alt="二维码" src="/myo2o/qrcode/generateqrcode"> </body></html>首先添加依赖<dependency> <groupId>com.google.zxing</group...
2019-04-29 22:11:57 657
原创 如何利用百度短链接接口将一个长链接变成短链接
短网址服务可以帮助你把一个长网址缩短,方便你在社交网络和第三方平台上分享链接,投放广告等等。 我们提供超简单的方式使用短网址服务:访问百度短网址首页https://dwz.cn,输入你要缩短的原网址,生成对应的短网址。你还可以调用百度短网址服务API服务,查看数据统计与分析……更多功能,等你来探索!官方文档:https://dwz.cn/console/apidoc首先添加依赖<d...
2019-04-29 17:26:37 3686
原创 微信公众号如何授权登录、获取用户信息(openid)
首先看一下实现的效果,在公众号中,用户进入你的应用之前,会弹出一个授权页面,当用户点击确认后,你就可以获取用户的信息首先访问微信测试号登录页面,通过打开自己手机的微信,扫一扫登录https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login进入到测试号页面后,分别看到如下信息【测试号信息】appID:开发者ID,是公众号开...
2019-04-28 23:09:59 18586 8
原创 linux下使用crontab如何实现mysql数据库每天自动备份定时备份,并只保留近7天数据文件
1. 编辑shell脚本 (备份&清理)#!/bin/bash#在此设置要备份的数据库名,以TEST为例DBNAME="TEST" #备份数据临时存放位置,备份完成之后自动删除. BACKDIR="/home/root/backup/" #获取系统时间DATE=`date +%Y%m%d`#备份文件名以时间命名 FILENAME=dump_${DATE}.sql #...
2019-04-26 19:37:33 887
原创 对项目中关键的配置信息进行加密
我们在搭键一个项目的时候,有一些信息,比如数据库的连接信息通常会放在一个配置文件中,存放的是明码,我们可以对关键信息比如用户名和密码进行加密,就算别人获取了也没有用加密后的效果db.username = WnplV/ietfQ=db.password = j9ZTgFZm4H7r0AteGA6A7A==db.driver = com.mysql.jdbc.Driverdb.url =...
2019-04-26 15:09:54 567
原创 阿里云Centos7.3服务器安装Docker环境
1.通过uname-r查看Centos7的内核版本uname-r2.使用root权限登陆Centos,确保yum包更新到最新版本yum -y update3.卸载旧版本,或则遗留的docker软件包yum remove docker docker-common docker-selinux docker-engine4.安装需要的软件包yum ins...
2019-04-19 11:20:39 201
原创 阿里云Centos7.3安装Mongodb及远程连接
1、在/etc/yum.repos.d 创建一个 mongodb-org.repo 文件touch /etc/yum.repos.d/mongodb-org.repo2、编辑vim /etc/yum.repos.d/mongodb-org.repo[mongodb-org] name=MongoDB Repository baseurl=http://mirrors.aliyun.co...
2019-04-16 15:45:28 276
原创 linux常用的命令,搭建开发环境必备
一、centos的防火墙相关命令systemctl enable firewalld 设置开机自启动systemctl start firewalld 启动防火墙systemctl status firewalld 查看防火墙状态firewall-cmd --zone=public --add-port=xxxx/tcp --permanent 开放xxxx端口firewall-cmd...
2019-04-16 15:35:05 263
原创 阿里云centos7.3安装redis
Redis下载地址:https://redis.io/download(这个连接可能得翻墙查看,但是在centos7服务器上安装过程不需要翻墙,我查看了最新的是redis-4.0.9.tar.gz )1.在centOS里通过wget下载rediswget http://download.redis.io/releases/redis-4.0.9.tar....
2019-04-14 12:30:33 182
原创 阿里云Centos7.3 Java开发环境搭建
一、安装JDK1、jdk下载官网:jdk 右键复制下载连接,http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz2、创建jdk的下载路径:执行创建文件夹命令 :mkdir /u...
2019-04-14 11:13:06 269
原创 阿里云Centos7.3 Java web项目部署基本环境
环境配置的详细流程https://blog.csdn.net/cffc1989101/article/details/81082210systemctl enable firewalld 设置开机自启动systemctl start firewalld 启动防火墙systemctl status firewalld 查看防火墙状态firewall-cmd --zone=public -...
2019-04-14 11:09:22 319
原创 利用kaptcha实现验证码,防止表单重复提交
一、添加kaptcha的依赖<dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version></dependency>二、在web.x...
2019-04-10 11:20:10 285
原创 Mybatis头文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.edward....
2019-04-09 15:51:52 1687
原创 Mybatis如何批量插入数据
Dao接口 int batchInsertProductCategory(List<ProductCategory> productCategoryList);mapper实现<insert id="batchInsertProductCategory" parameterType="java.util.List"> INSERT INTO tb_prod...
2019-04-09 15:44:26 2954
原创 IDEA如何创建servlet3.1的web项目
在IDEA中创建的web项目,默认的是2.4版本的,但我们最常用的是2.4和3.1版本的,我们可以自己修改版本1.首先删除原来自己IDEA自己生成web.xml打开项目的strucure2.重新生成一个web.xml,然后就可以自己选择自己的版本...
2019-04-01 15:18:18 1791
原创 SSM整合逐层配置
一、Dao层配置1.spring-dao.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
2019-04-01 14:54:50 102 1
原创 解决SpringMVC的@ResponseBody返回中文乱码
第一种:在@RequestMapping中添加produces="text/html;charset=UTF-8@ResponseBody @RequestMapping(value = "/hello",produces = "produces=text/html;charset=UTF-8") public String hello(){ List<Em...
2019-03-29 09:15:19 2353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人