- 博客(47)
- 收藏
- 关注
原创 Win10安装Jenkins步骤以及服务用户问题
第一步,进入官网下载jenkins.msi文件;https://www.jenkins.io/第二部运行安装程序,进入验证用户页面时,输入本机用户和登陆密码如果不成功,打开控制面板-》管理工具-》本地安全策略-》本地策略-》用户权限分配-》作为服务登录-》添加用户和组,然后添加本机用户添加成功后,点击下一步进入选择端口号,后续操作默认next安装结束进入此页面根据地址找到密码输入,选择安装推荐的插件...
2021-12-21 15:44:29 894
原创 Spring JdbcTemplate操作数据库
SpringCloud和SpringBoot的关系SpringBoot专注于快速的开发单个个体微服务。SpringCloud是关注全局的服务治理框架,将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供配置管理,微代理等集成服务。...
2021-11-17 10:50:03 162
原创 Spring的外部bean和内部bean注入,级联赋值
通过XML实现外部bean和内部bean注入的方式不同外部bean,通过ref标明bean的id对应,赋值方式也叫级联赋值 <bean id="test" class="com.hua.bean.Test"> <property name="book" value="JAVA编程思想"/> <property name="sour" value="25"/> </bean> <bean id="
2021-11-12 15:46:22 571
原创 Windows下安装redis
Windows 下安装 Redis下载安装包 : https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100下载解压启动服务,redis-server.exe测试连接,启动redis-cli.exe
2021-10-25 19:56:50 88
原创 Mysql8.0安装出现Starting the server的解决办法,以及后续修改为本地系统账户后的解决方法
废话不多说,直接上干货:当安装出现Starting the server时候,别关闭安装界面,右键此电脑—>管理—>服务—>右键MySQL80服务—>属性—>登录—>选择本地系统账户,勾选允许服务与桌面交互然后返回到MySQL安装界面继续执行,成功,到最后一步输入密码部分直接跳过。安装成功后,记得在环境变量中配置Mysql的bin路径,很多人都忘了这一步。重点来了,很多人安装后,使用Navicat等工具连接不上Mysql了,那是因为由于修改为本地系统账户了,
2021-10-25 19:16:34 6624 13
原创 设计模式之工厂模式
静态工厂模式public interface Car { void name();}public class BenCi implements Car{ @Override public void name() { System.out.println("奔驰"); }}public class WuLin implements Car{ @Override public void name() { System.
2021-09-06 15:11:13 82
原创 集合小总结
集合集合与数组区别:1、集合长度可变,数组长度固定2、数组可以是基本类型,也可以是引用类型。集合只能是引用类型。3、数组只能存储同一种数据类型。集合可以存储不同的数据类型,而一般也只是存储同一种数据类型。集合的分类:1. CollectionList:元素按照进入的先后顺序保存,可以重复值LinkedList接口实现类,链表,插入删除,没有同步,线程不安全。ArrayList接口实现类,数组,随机访问,没有同步,线程不安全。Vector接口实现类,数组,同步,线程安全。tack是
2021-08-17 16:50:39 118
原创 Redis哨兵模式,缓存穿透与雪崩
Redis哨兵模式1、配置哨兵文件:sentinel.confsentinel monitor 被监控的名称 host port 1优点1、哨兵集群,基于主从复制模式,所有的主从配置优点它全都有2、主从可以切换,故障可以转移,系统的可用性就会更好3、哨兵模式就是主从模式的升级,手动到自动,更加健壮缺点:1、Redis不好在线扩容,集群容量一旦到达上限,在线扩容就十分麻烦2、实现哨兵模式的配置其实是很麻烦的,里面有很多选择Redis缓存穿透与雪崩未查询到值所导致的用户想要查
2021-08-17 10:47:24 187
原创 Redis发布订阅,主从复制
Redis发布订阅SUBSCRIBE huasongyu //订阅一个频道 huasongyuPUBLISH huasongyu “hello,hua”//发布消息到频道Redis主从复制将一台redis服务器上的数据复制到其他redis服务器上,前者为主节点,后者为从节点,数据复制是单向的,只能由主节点到从节点。主节点以写为主,从节点以读为主。一个主节点可以有多个或者没有从节点,一个从节点只能有一个主节点。主从复制主要作用:数据冗余数据故障负载均衡高可用基石主从复制,读写
2021-08-16 18:42:30 105
原创 Redis持久化
Redis持久化因为redis是内存数据库,如不把数据存入数据库或磁盘就会断电即失RDB默认的就是rdbredis会创建一个单独的fork子进程来进行持久化,先将数据写入一个临时文件,待持久化过程结束后,再用这个临时文件替换上次持久化好的文件rdb保存的一个文件就是dump.rdbrdb触发机制save的规则满足的情况下,会自动触发rdb规则执行flushall命令,也会触发我们的rdb规则退出redis,也会产生rdb文件恢复rdb文件:只需要将rdb文件放入redis启动目
2021-08-16 16:17:36 96
原创 Redis的事务操作
Redis的事务操作redis单条命令是保存原子性的,但是事务不保证原子性redis的事物本质:一组命令的集合redis事务没有隔离级别的概念,所有的命令在事务中,并没有直接被执行,只有发起执行命令的时候才会执行。开启事务(Multi)命令入队(…)执行事务(exec)multi //开启事务discard //取消事务exec //执行事务悲观锁认为什么时候都会出现问题,做什么都会加锁。乐观锁认为什么时候都不会出现问题,无论做什么都不会上锁。在更新数据的时候回去判断一下
2021-08-13 18:01:12 84
原创 Redis List类型,set类型,Hash类型,Zset类型
Redis List类型所有的list命令都是用l开头的插入列表元素LPUSH list one //将一个值或多个值,插入到列表头部(左边)RPUSH list one //将一个或多个值,插入到列表头部(右边)LRANGE list 0 -1 //查看列表所有数据移除列表元素LPOP list //移除列表左边的第一个值RPOP lsit //移除列表的右边第一个元素,也是列表的最后一个元素通过下标获取list中的某一个值lindex list 1移除指定的值lre
2021-08-13 15:39:30 135
原创 Redis的String类型
@Configuration//告诉springboot这是一个配置类==配置文件@Bean//给容器中添加一个组件,以方法名作为组件的Id,返回值类型就是组件类型,返回的值就是组件在容器中的实例
2021-08-12 18:53:58 109
原创 Git学习
分布式的版本控制Git所有的版本信息都会全部同步到本地的用户,可以在本地查看所有版本历史,可以离线在本地提交,只需要联网时push到相应服务器或者其他用户那里每个人都拥有全部的代码,不会因为服务器损坏或者网络问题,造成不能工作的情况Git与SVN的区别:SVN是集中式版本控制系统git是分布式版本控制系统Git Bash: Unix与Linux风格的命令行,使用最多,推荐最多Git CMD: Windows风格的命令行Git GUI: 图形界面的Git,不建议初学者使用,尽量先熟悉常
2021-08-09 15:45:35 67
原创 spring boot学习三,静态资源处理,首页,模板引擎,thymeleaf常用语法
1、静态资源处理在spring boot中,可以使用以下方式处理静态资源:webjars localhost:8080/webjars/public,static,/**,resources localhost:8080/,优先级由小到大2、首页将index.html文件放在public,static,resources文件夹任意位置,启动程序localhost:8080/,进入3、模板引擎要使用thymeleaf,需要导入依赖,然后将html放入templates目录下。
2021-07-27 17:33:45 97
原创 springboot学习二,yaml语法
1、yaml文件spring boot使用一个全局的配置文件,配置文件名固定application.properties语法结构: key = valueapplication.yaml语法结构: key 空格 valueYaml:是一个可读性,用来表达数据序列化的格式yaml可以给实体类赋值:@Component@ConfigurationProperties(prefix = "dao")public class Dao { private String name;
2021-07-27 15:53:21 86
原创 springboot学习一,第一个SpringBoot项目,SpringBoot自动配置原理
create table books{-> bookid int(10) not null auto_increment ‘书id’,-> kookName varchar(100) not null comment ‘书名’,-> bookCounts int(11) not null comment ‘数量’,-> detail varchar(200) not null comment ‘描述’,-> key bookid (bookid)-> ).
2021-07-27 10:41:27 190
原创 springmvc学习二,注解开发SpringMVC,RestFul风格
1、使用注解开发SpringMVC在XML注解中,原先的处理器映射器,处理器适配器被取代,不再配置,而且XML也不需要再更改,Bean注入使用注解注入 <!--自动扫描包,让指定包下的注解生效,由IOC容器统一管理--> <context:component-scan base-package="com.hua.controller"/> <!--让spring MVC不处理静态资源--> <mvc:default-servlet-
2021-07-23 17:41:05 144
原创 SpringMVC学习一,第一个springmvc,springmvc404报错解决
第一个SpringMVC项目创建一个maven项目配置pom.xml <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <
2021-07-23 09:55:15 242
原创 Spring学习四 代理模式,AOP实现方式
AOP1、代理模式为什么要学习代理模式,因为这是springAOP的底层代理模式的好处:可以使真实角色更加纯粹,不用去关注一些公共的业务公共也就交给代理角色,实现了业务的分工公共业务发生扩展的时候,方便集中管理缺点一个真实角色就会产生一个代理角色;代码量会翻倍,开发效率会变低代理模式分类静态代理 抽象角色:一般使用接口或者抽象类来解决 真实角色:被代理的角色 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作 客户:访问代理角色的人步
2021-07-22 16:07:57 115
原创 Spring学习三Bean的作用域,自动装配,注解自动装配,使用注解开发
1、Bean的作用域代理模式Spring默认为单例模式,scope=“singleton”<bean id="user" class="com.hua.pojo.User" p:name="张三2" p:age="22" scope="singleton"/>原型模式每次从容器中get的时候,都会产生一个新对象,scope=“prototype”<bean id="user2" class="com.hua.pojo.User" c:name="张三3" c:age=
2021-07-21 14:59:24 115
原创 Spring学习二创建对象,Spring的配置,Bean注入方式
1、Spring Ioc创建对象的方式构造方法创建对象:1、使用无参构造创建对象,是默认实现;2、若使用有参构造创建对象,则:使用下标赋值,index赋值0,代表构造方法第一个参数 <bean id="user" class="com.hua.pojo.User"> <constructor-arg index="0" value="张三"></constructor-arg> </bean>使用类型赋值,但是
2021-07-20 19:52:39 162
原创 Spring学习一,环境搭建,创建第一个Spring
Spring是一个开源的免费的框架(容器)是一个轻量级的,非入侵式的框架控制反转(IOC),面向切面编程(AOP)支持事务的处理,对框架整合的支持Spring环境搭建1、创建一个maven项目2、在pom.xml导入包 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifa
2021-07-20 14:53:11 160
原创 Mybatis学习五
多对一关系多个学生对应一个老师;对于学生:关联,多个学生关联一个老师对于老师:集合,一个老师有很多学生多对一查询方法:子查询联表查询关联 - association(多对一)集合 - collection(一对多)javaType & ofType1、javaType用来指定实体类中属性的类型2、ofType用来指定映射到List或者集合中的pojo类型,泛型中的约束类型动态SQL拼接SQL语句,我们只要保证SQL的动态性,按照SQL的格式,去排列组合就可以了缓存存在内
2021-07-19 18:52:26 71
原创 Mybatis学习四
1、 Mybatis注解开发@select注解,直接在接口上实现@Param注解:给参数命名若为基本类型的参数或者String类型,需要加上,如果为引用类型不需要加,如果只有一个基本类型的话可以忽略@Insert注解@Update注解@Delete注解Mybatis自动提交事务#{}跟${}的区别一般使用#{},可以很大程度上防止SQL的注入;${}无法防止sql注入;2、Lombok提供Mybatis注解;@Data:提供get,set方法...
2021-07-16 19:13:26 86
原创 Mybatis学习三
Mybatis结果集映射resultMap:ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。
2021-07-16 18:14:42 44
原创 Mybati学习(二)
1、对应的关键字意思namespace:namespace中包名要和Dao/mapper接口的包名一致select查询语句:id:对应的namespace中的方法名;resultType:sql语句执行的返回值;parameterType:参数返回类型增删改需要提交事务commit编写步骤1、编写接口2、编写对应的mapper中的sql语句3、测试...
2021-07-15 22:12:45 82
原创 Mybatis创建
Mybatis是一款优秀的持久层框架。如何获取Mybatismaven仓库<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6<
2021-07-03 14:38:46 260
原创 多线程知识
多线程进程:程序运行的程序就是一个进程,一个进程包含多个线程,线程之间互相不影响,Main函数是个主线程1、线程创建:继承Thread类实现Runnable接口实现Callable接口继承Thread类:Object的子接口使用方法:声明一个Thread的子类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程public class Demo1 extends Thread { @Override public void run()
2021-07-02 01:50:34 70
原创 JVM探究
JVM探究请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOveFlowError?怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取,怎么分析Dump文件?知道吗?谈谈JVM中,类加载器你的认识?1JVM的位置运行在操作系统上的,JVM 上承开发语言,下接操作系统,它的中间接口就是字节码硬件体系–>操作系统–>JVM–>java字节码–>java2.JVM的体系结构JVM垃圾不会存在于栈和程序计数器里面,调
2021-07-01 15:14:01 246
原创 SpringBoot创建
SpringBoot微服务阶段:节省了调用资源每个功能元素的服务都是一个可替换的,可独立升级的软件代码第一个SpringBoot程序准备工作:jdk1.8maven 3.6.1springboot: 最新版IDEA创建一个SpringBoot项目单机Next程序的入口:@SpringBootApplication...
2021-06-30 16:16:55 51
原创 VUE计算属性,vue插槽
Vue计算属性,可以想象成为缓存computed主要特点是为了将不经常变化的计算结果进行缓存,以节约我们的系统开销<div id="app"> <p >message1:{{message1()}}</p> <p>message2:{{message2}}</p> <p> <button v-on:click="mess">按钮</button> &l
2021-06-30 01:25:56 172
原创 VUE组件
VUE组件//例子<div id="app"> <message></message></div><script> Vue.component("message",{ template:'<li>hello</li>' }); var mar=new Vue({ el:"#app", data:{ } });&
2021-06-28 23:15:29 69 3
原创 VUE基本语法,if,for,绑定事件和双向绑定
VUE基本语法v-if<body><div id="app"> <h1 v-if="ok">Yes</h1> <h1 v-else>No</h1></div><script> var mar=new Vue({ el:"#app", data:{ ok:true } });</script&g
2021-06-28 22:52:41 660
原创 MySQL数据库学习(十一)三大范式,JDBC
数据库备份导出数据库mysqldump -h 主机 -u 用户名 -p 密码 数据库 表名 >导出地址三大范式第一范式(1NF)原子性,保证每一列不可再分第二范式(2NF)每张表只描述一件事情第三范式(3NF)确保每条数据都和主键直接相关JDBC(重点)数据库的驱动java.sqljavax.sqlmysql-connector-java-5.1.47.jarJDBC程序public class jdbcFirstDemo{ public static
2021-06-27 23:38:56 98
原创 MySQL数据库学习(十)索引
索引Mysql官方对索引的定义为:索引是帮助Mysql高效获取数据库的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构索引的分类一个表中主键只能有一个,唯一索引可以有多个主键索引(primary key)唯一的标识,不可重复,只能有一个列作为主键唯一索引 (unique key)避免重复读的列出现,唯一索引可以重复使用,多个列都可以标识为唯一索引常规索引 (key / index)默认的,index ,key关键字设置全文索引 (fullText)
2021-06-27 12:38:19 66
原创 MySQL数据库学习(九)事务
事务什么是事务:要么都成功,要么都失败。将一组SQL放在一个批次中去执行~事务有一个原则:ACID原则,原子性,一致性,隔离性,持久性原子性(Atomicity)要么都成功,要么都失败一致性(Consistency)事务前后的数据完整性要保持一致持久性(Durability)–事务提交事务一旦提交则不可逆,被持久化到数据库中隔离性(lsolattion)事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所扰,事务之间要相互隔离隔离
2021-06-27 11:40:55 79
原创 MySQL数据库学习(八)函数,分组过滤
1、MySql的函数数学函数:select ABS(-8);//绝对值函数,返回8select ceiling(9.4)//向上取整,返回10select floor(9.4)//向下取整,返回9select rand()//返回一个0-1之间的随机数select sign(10)//判断一个数的符号 0,-0,负数返回-1,正数返回1字符串函数select char_length('huasongyu')//字符串长度select concat('hua','song','y
2021-06-27 00:02:42 177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人