- 博客(56)
- 资源 (2)
- 收藏
- 关注
原创 JDK动态代理
JDK动态代理,运用反射的机制基于接口的动态代理代理类是动态生成的接口被代理类(实现接口)代理类(动态生成)package com.interview.designpattern.proxy.dp;/** * <p> * 目标接口 * </p> * * @author Lcp * @version V1.0 * @since 2021/6/25 13:07 */public interface TargetInterface { public
2021-06-25 13:48:25
146
原创 静态代理demo
静态代理package com.interview.designpattern.sp;/** * <p> * 静态代理:接口、代理类、被代理类 * * 代理人:王婆 * 被代理人:西门庆 * </p> * * @author Lcp * @version V1.0 * @since 2021/6/25 10:29 */public class SP_01 { public static void main(Strin
2021-06-25 10:46:54
176
原创 Zookeeper集群搭建
Zookeeper集群搭建新建安装目录# 新建安装目录mkdir /usr/local/zookeepercd /usr/local/zookeeper下载压缩包,解压# 下载压缩包wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz# 解压tar -xf apache-zookeeper-3.5.5-bin.tar.gz修改配置
2021-05-07 01:06:46
174
原创 SCP远程复制
SCP远程复制配置主机映射# 添加主机映射vim /etc/hosts复制文件scp ./* -r root@node02:/test_dir
2021-05-07 00:14:25
124
原创 kafka集群搭建
kafka单机安装安装前准备配置主机名和IP映射关闭防火墙&防火墙开机自启动安装JDK1.8+,配置JAVA_HOME安装&启动Zookeeper安装&启动|关闭Kafka1、配置主机名和IP映射详见:https://blog.csdn.net/qq_39471929/article/details/1129146632、关闭防火墙&防火墙开机自启动详见:https://blog.csdn.net/qq_39471929/artic
2021-05-03 19:09:20
135
原创 整合 SpringBoot + Dubbo
挑战3分钟整合 springboot + dubbo新建三个项目目录(为了更好区别服务提供者和服务消费者是两个不同的服务)在上述三个目录分别建两个springboot项目和一个公共接口meven项目公共接口服务提供者服务消费者把公共接口抽象出来引入dubbo 和 zk依赖,已经公共接口依赖(服务提供方和服务消费方一样,其他依赖根据需要引入)<!--引入接口--><dependency> <groupId>com.xxoo.
2021-04-02 10:42:52
428
原创 并发编程基础知识一
并发编程基础知识一文章目录并发编程基础知识一1. 什么是并发编程2. 为什么要进行多线程并发编程3. Java中的线程安全问题3. Java中共享变量的内存可见性问题1. 什么是并发编程并发: 指同一个时间段内多个任务痛死都在执行,并且都没有执行结束。并行: 单位时间内,多个任务同时在执行。并发任务强调在一个时间段内同时执行, 而一个时间段有多个单位时间积累而成,所以说并发的多个任务在单位时间内不一定同时执行。在单CPU时代多个任务都是并发执行的,这是因为单CPU在单位时间内只能执行一个任务,多个
2021-03-20 11:40:53
190
原创 线程的常见的几种创建方式
线程的几种创建方式文章目录线程的几种创建方式1. 继承Thread2. 实现Runnable接口3. 实现Callable接口4. lamda表达式函数5. 线程池1. 继承Threadpublic class T01 { private static class MyThread extends Thread { @Override public void run() { System.out.println("第一种创建方式:
2021-03-17 20:23:46
183
原创 Centos7 JAVA8 安装配置
JAVA8 安装1、下载压缩包mkdir /usr/local/javacd /usr/local# 使用华为镜像wget https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz 2、 解压tar -xzvf jdk-8u151-linux-x64.tar.gz3、配置环境变量vim /etc/profile# 添加保存export JAVA_HOME=/usr/local/java
2021-03-07 17:03:42
201
1
原创 Centos7 MySQL 5.7 安装
MySQL 5.7 安装1、 下载压缩包mkdir /usr/local/mysqlcd /usr/local/mysql#下载指定版本wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz# 解压、顺便改下名字 tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz mysql2、在**/us
2021-03-07 17:01:53
161
1
原创 CentOS7永久关闭防火墙
CentOS7永久关闭防火墙1. 查看当前防火墙状态systemctl status firewalld.service2. 关闭防火墙systemctl stop firewalld.service3. 永久失效防火墙systemctl disable firewalld4. 查看状态systemctl status firewalld.service...
2021-01-23 11:03:59
928
1
原创 CentOs7 Redis6.0.6安装
CentOs7 Redis6.0.6安装安装wgetyum install -y wget下载redis# 在home目录下创建目录mkdir soft# 下载rediswget http://download.redis.io/releases/redis-6.0.6.tar.gz# 解压tar -xf redis-6.0.6.tar.gz升级gcc4.8.5 到gcc9.3.0yum -y install centos-release-sclyum -y i
2021-01-22 00:29:37
267
原创 CentOS 7.x 虚拟机静态网络配置
CentOS 7.x 虚拟机静态网络配置TYPE=“Ethernet”PROXY_METHOD=“none”BROWSER_ONLY=“no”BOOTPROTO=“static”DEFROUTE=“yes”IPV4_FAILURE_FATAL=“no”IPV6INIT=“yes”IPV6_AUTOCONF=“yes”IPV6_DEFROUTE=“yes”IPV6_FAILURE_FATAL=“no”IPV6_ADDR_GEN_MODE=“stable-privacy”NAME=“e
2021-01-21 00:41:16
143
原创 解决maven项目中,执行clean、compile、test、package等命令时控制台输出乱码问题
解决maven项目中,执行clean、compile、test、package等命令时控制台输出乱码问题解决方案:
2020-11-24 15:57:58
551
1
原创 一次Web请求的过程(HTTP协议的工作流程)
一次Web请求的过程(HTTP协议的工作流程)1. 总览在浏览器输入url ——> DNS域名解析 (得到主机的IP地址) ——> 建立TCP连接(三次握手)—— > 发送HTTP Request ——> Web服务器(Nginx反向代理) ——> 应用服务器Servlet处理请求 ——> 关闭TCP连接(四次握手)——> 渲染响应页面浏览器通过DNS把域名解析成对应的IP地址根据这个IP地址在互联网上找到对应的服务器,建立Socket连接客户端服务器
2020-08-19 21:17:47
1644
原创 IDEA 中tomcat JMX port 1099被占用问题
Error running ‘Tomcat 8.5.37’: Address localhost:1099 is already in useError running ‘Tomcat 8.5.37’: Unable to open debugger port (127.0.0.1:52679): java.net.SocketException “socket closed”解决方法:打开cmdnetstat -ano | find "1099" 杀死占用该端口的进程taskkil
2020-08-18 22:42:49
4084
原创 Vue 作业2
Vue作业1、准备工作// 新建项目vue init webpack vue_work// 安装依赖包, 在vue_work目录下执行cnpm install// 安装axioscnpm install axios --save// 启动项目npm run dev2、编码在components目录向新建4个vue文件编码分别如下Left1.vue<template> <div> <button @click="get
2020-08-16 20:30:17
966
原创 Java I/O字符流
字符流一、字符流产生的原因在某些情况下,用字节流来操作中不太方便,因为有些字符,需要多个字节数据来表示,而字节流数据的单位是单字节。在字节流中,就可能出现不完整的字符表示,其根本原因是 —— 数据逻辑单位不一致。二、字符的表示字符在计算机中,是以二进制数据的形式存储,即字符在旧手机中对应的是一个二进制的整数字符集(编码表),由字符及其对应的数值组成的一张表,即字符所对应的二进制数值,是由字符集(编码表)规定的常见字符集:ASCII码、ISO8859-1、GB2312、GBK、G
2020-08-13 22:27:45
107
原创 Vue学习记(作业1)
Vue作业第一题<!DOCTYPE html><html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-model="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Title</title> <script src="../vue.js
2020-08-13 20:59:30
670
原创 JS作业2
JS作业2第一题<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>作业1</title> <style> .my_div{ margin: 2px auto; width: 600px; height: 30px;
2020-08-12 20:10:16
788
原创 Java I/O字节流
I/O流一、IO产生的原因在操作系统中,一切数据都以文件的形式存储。需要长久保存的文件数据,存储在外部设备。程序运行时,所有的数据都需要在内存中,同时,内存的大小有限,因此常常需要在内存和外设之间交换数据,即I/O、在Java语言中主要通过输入流和输出流,完成I/O的功能,从而实现和外设的数据交互二、IO流IO流用来处理JVM内存和外部设备之间的数据传输。在Java中,我们通过流(Stream)的方式完成对数据进行输入、输出的操作。1. IO流的分类根据数据的流动方向:输入流(对数据
2020-08-11 23:18:44
163
原创 JS作业1
作业第一题:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>作业1</title> <style> .my_div{ margin: 2px auto; width: 600px; height: 30px;
2020-08-11 19:47:50
461
原创 JDBC(Java操作MySQL数据库学习记)
JDBC学习记入门案例:package com.summarize.jdbc;/*我们操作数据库的步骤: 1、建立连接 2、执行SQL语句 3、获取返回结果 4、退出(exit,关闭连接,释放资源)Java程序操作数据库的过程: 1、注册驱动 2、建立连接 3、获取SQL执行平台 4、执行SQL语句 5、处理结果集 6、退出(关闭连接,释放资源) */// 以下程序测试Java程序是如何连接MySQL并执
2020-08-09 13:47:26
157
原创 SQL增删改查常用语句
创建表操作SQL创建表create table 表名(字段…);字段类型数值型(5种整数类型、三种浮点数类型)、字符串型(char、varchar)、日期型、二进制类型键的类型主键(primary key)、外键(foreign key)默认值default 默认值是否为空is not null、is null注释comment ‘’例如:创建一个学生表create table student( id int primary key
2020-08-06 07:52:12
316
原创 Day1. 对Java平台的理解
Day1. 对Java平台的理解Java语言是一种面向对象语言Java两个最显著的特征:跨平台——一次编译,到处执行垃圾收集(GC,Garbage Collection)JRE和JDKJRE就是Java运行时环境(Java Runtime Environment),包含了JVM和Java类库,以及一下模块等。JDK可以看成是JRE的一个超集,提供了更多工具,比如编译器,各种诊断工具等。Java程序的执行过程首先通过javac(Java编译器,java compiler)编译成字节码文件
2020-08-04 23:08:00
110
原创 leetcode 刷题记 (006 -- 字符串)
题目:字符串相加给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。提示:num1 和num2 的长度都小于 5100num1 和num2 都只包含数字 0-9num1 和num2 都不包含任何前导零你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式题目链接:Click me !思路:根据题目的要求,我们只能获取两个字符串的每一位,逐一对应相加,还需要注意逢十进一。先给两个指针p1、p2 分别指向字符串的最后一位,每加一位,往前挪
2020-08-04 00:17:56
123
原创 day21_task
a.查询男生、女生人数涉及的表studentselect * from student;select distinct sgender as sex, count(sgender) as nums from studentgroup by sgender desc ;b.查询名字中含有「风」字的学生信息涉及的表:studentselect * from studentwhere sname like ‘%风%’;c.查询同名同姓的学生名单,并统计同名的人数涉及的表:studentsel
2020-08-03 22:38:59
124
原创 leetcode 刷题记 (005 -- 数组)
题目:旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]说明:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。要求使用空间复杂度为 O(1) 的 原地 算法。题目链接:click me !思路:第一种方法,直接暴力,翻转 k 次。时间复杂度为O(n * k)
2020-08-02 17:16:07
84
原创 leetcode刷题记 (004--数组)
题目: 买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候
2020-08-02 15:34:32
146
原创 leetcode 刷题记 (003--链表)
题目描述:K 个一组翻转链表给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->1->4->5说明:你的算法只能使用常数的额外空间。你不能只
2020-08-01 23:59:53
121
原创 leetcode 刷题记(002--字符串)
题目描述:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。题意解析:判断字符串 t 是否是字符串 s 的字母异位词异位词就是指两个字符串所包含的字母以及相应字母的个数完全相同,只是字母的顺序不一样思路:将两个字符串转化为字符数组,
2020-08-01 17:19:53
95
原创 leetcode 刷题记(001--数组)
题目描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。input:nums = [1,1,2],output: [1,2]返回 2input:nums = [0,0,1,1,1,2,2,3,3,4]output:[0, 1, 2, 3, 4]返回 5题目链接:https://leetcode-cn.com/leetbook/rea
2020-08-01 16:42:02
88
原创 MySQL学习记3(简单查询)
简单查询该篇我们主要讲讲 SQL 里面的简单查询。查询的关键字是 SELECT ,它的用法非常丰富。1. 计算表达式和函数的值虽然 SELECT 语句通常用于从表中检索数据,但我们也可以用它计算表达式和函数的值。select 3*2;select now();select concat('ab','cd');2. 查询表中的字段查询单个字段的值,比如:查询 heros 表中所有英雄的名字。select name from heros;查询多个字段的值,多个字段之间用 ','分
2020-07-31 22:31:24
203
原创 MySQL学习记2(删除表中记录)
删除表中数据1. delete关键字语法:delete from 表名称 where 删除约束条件# 删除student表中name字段为张三的那条记录delete from `student` where name = '张三';# 删除student表中id字段为1001的那条记录delete from `student` where id = '1001';# 删除student表中age字段小于20的所有记录delete from `student` where age <
2020-07-31 09:30:49
3461
原创 MySQL学习记1(SQL语言的分类)
SQL语言的分类SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。1. 数据查询语言(DQL)数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件> 2. 数据操纵语言(DML)三种形式: 插入:insert 更新:upd..
2020-07-31 08:50:48
102
原创 HashMap学习记
HashMap特性:底层数据结构是哈希表不保证迭代顺序(无序),特别是不保证迭代顺序的恒久不变(不保证元素之间的相对次序不变)存储null值和null键不同步HashMap的原理,内部结构?底层使用哈希表(数组+链表),当链表过长会将链表转为红黑树(jdk1.8中实现)以实现O(logn)的时间复杂度HashMap中put()方法的实现原理:对key求Hash值,然后计算其在table数组中的下标如果没有发生碰撞,直接放入桶中如果碰撞了,以链表的方式链接到后面如果链表
2020-07-24 21:47:57
93
原创 如何解决 cannot be cast to java.lang.Comparable问题?
如何解决 cannot be cast to java.lang.Comparable问题?1、产生问题的原因:TreeSet的特点是可排序、不重复,即TreeSet要求存放的对象必须是可排序的。如果对象之间不可排序,就会抛出这个异常。2、解决方法:方法1:实现Comparable接口class Person implements Comparable<Person> { String name; int age; @Override publ
2020-07-23 21:52:41
7746
原创 ubuntu挂载U盘
<1>加载USB模块 modprobe usb_storage<2> 查看U盘设备fdisk -l注:假设查看到U盘设备为sda1<3>查看 /mnt 目录下是否有 usb_disk目录,如果没有使用如下命令创建mkdir /mnt/usb_disk<4>挂载U盘mount /dev/sda1 /mnt/u...
2018-11-08 22:21:52
225
原创 常见linux下操作命令
系统:uname -a # 查看内核、操作系统、CPU信息(同uname -r)head -n 1 /etc/issue # 查看操作系统版本hostname # 查看计算机名env # 查看环境变量 磁盘:fidisk -l # 查看所有分区swapon -s # 查看所有交换分区mount | column -t # 查...
2018-11-02 22:05:15
114
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人