自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 问答 (5)
  • 收藏
  • 关注

原创 算法rookie02

算法rookie02算法算法:对一个问题解决的具体流程,算法还有评价处理流程的可量化的指标。算法的分类:算法可以分为很多种,分类标准很多。但是,作为一个新手,算法可以分为两种:​ 1.明确知道怎么算的流程​ 2.明确知道怎么尝试的流程分类2很重要,这是计算机作为一种科学的原因之一,计算机不是一种计算工具,还是可以发展的科学,计算机科学的祖师爷为啥是图灵,因为图灵在二战的时候,为英军进行尝试解决破译德军的密码。例题题目1:1!+ 2!+ 3! + 4! + 5!… + N!的和code1:

2022-02-21 16:12:00 213

原创 算法rookie01

算法rookie01

2022-02-15 14:22:00 226

原创 如何制作加法器 《编码》读书笔记 二

《编码》读书笔记二 如何制作加法器前言​ 书接上回,看小将与或门,长驱直入,在长坂坡杀了个七进七出。hold on,hold on…半加器​ 上一次,我再解释异或门的时候,我借助了二进制的加法口诀,将二进制加法分成两部分,一是加法位计算,二是进位计算。加法位计算我们就可以用异或门表示,进位计算我们可以用与门来表示。将两个原件组合成来计算加法:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BENx28Oz-1635563622542)(异或门和与门计算加法.png)

2021-10-30 11:20:39 556

原创 从逻辑门开始 《编码》读书笔记 一

《编码》读书笔记 一:从逻辑门开始:为什么从逻辑门开始,之前的东西太过基础,电路,继电器等,这个是中学时代的东西吧。感兴趣的自己去看吧。让我感兴趣想记录的东西就是从逻辑门开始。而且逻辑门让我想记录的下来的理由,这个东西不是具体的东西,而是逻辑上存在的,过去可能是由继电器,而现在电脑不可能还是用大量的继电器来实现这个东西,但是逻辑门还是存在电脑中的。与门 两个输入,一个输出:AND01000101与门兽进化,三输入端与门。将两个与门进行串联,一个与门的

2021-10-18 11:08:52 205

原创 SpringCloud组件Feign介绍以及使用

SpringCloud组件Feignfegin的介绍feign: 假装,伪装,装作,捏造。feign框架是一个Http请求轻量级框架,通过接口注解的方式调用Http请求。通过处理注解将请求模板化,实际调用的时候,传入参数,根据参数再应用到请求上,转化为真的请求。这样就是面向接口编程。说白了,这个东西就像是“写轮眼”,给你制造了幻术,你虽然是调用的一个个接口,但是实际上还是调用的正的请求,和RestTemplate那一套类似。使用feign的调用感觉更简洁,而不是像之前的RestTemplate指定请

2021-10-09 16:07:55 1125

原创 SpringCloud远程调用服务 - 01

SpringCloud远程调用服务使用DiscoveryClient@AutowiredDiscoveryClient client;注意导的包是: org.springframework.cloud.client.discovery.DiscoveryClient;// 查看注册的实例List<String> services = client.getServices();// 通过服务serviceId获取服务实例,可能配置多个(分布式)List<ServiceIns

2021-09-23 14:28:42 265

原创 Spring Boot2.x 之actuator

Spring Boot2.x 之actuatorActuator监控和度量Spring Boot 应用程序;增加maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>默认端点Spring Boot 2.

2021-09-08 15:31:52 166

原创 SpringCloud-Eureka客户端注册

Eureka客户端注册客户端的注册增加maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>修改配置文件spring.application.n

2021-09-08 15:30:51 94

原创 SpringCloud - EurekaServer端搭建

EurekaServer端搭建单节点步骤一 引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>二 启动类添加注解@Enabl

2021-08-26 11:47:48 121

原创 JVM虚拟机三之GC垃圾回收

JVM虚拟机 GC垃圾回收垃圾回收主要做三件事:哪些内存需要回收,什么时候回收,怎么回收。垃圾回收主要的知识点:判断对象是否存活,垃圾收集算法,各类垃圾收集器以及垃圾回收过程。Java对象之死1.引用计数法,JVM没有用。但是每个教程都会告诉你。是不是因为《深入理解Java虚拟机》太过经典,里边介绍了这用引用计数法,所以往后的教程都需要这个啊。我就记一句话:不能解决互相引用,循环引用。2.可达性分析通过一些GC Roots对象作为起点,然后一路标记引用对象,存放到存活引用集合中。没有被标记的对

2021-08-03 11:26:40 72

原创 oracle完整卸载

完全卸载oracle11g1、 开始->设置->控制面板->管理工具->服务,停止所有Oracle服务。1、 开始->设置->控制面板->管理工具->服务,停止所有Oracle服务。2、 开始->程序->Oracle_OraDB11g_Home1->OracleInstallation Products->Universal Installer,单击“卸载产品”-“全部展开”,选中除“OraDb11g_home1”外的全部目录,删除。5、运行regedit,选择HKE...

2021-07-30 16:54:19 72

原创 JVM虚拟机学习 - JVM类加载,JVM内存模型,JVM性能分析工具

JVM虚拟机 二JVM类加载类的生命周期加载:​ 加载class文件到二进制字节流,然后再将二进制字节流转化为方法区的运行时数据结构,生成一个对应的Class对象作为类各种数据的访问入口。链接:验证:确保被加载类的正确性,验证字节流是否符合class文件规范,例如魔数以及版本号等。准备:为类的静态变量分配内存并设置变量初始值等。解析:解析出常量池数据和属性表信息初始化:为标记常量值的字段赋值,执行()方法。使用:程序代码执行使用的阶段卸载:程序代码退出,异常,结束等。

2021-07-30 16:48:26 174

原创 JVM虚拟机学习 - 初次见面

JVM虚拟机一JDK JRE JVMJDK JRE 和 JVM之间是什么关系?​ JDK是提供给Java开发人员使用的,包含了Java的开发工具,也包括了JRE。JRE是JDK的子集,JRE提供了库,Java虚拟机和其他组件。JVM可以理解为一个虚拟出来的计算机,它主要负责把Java程序生成的字节码文件解释成具体系统平台的机器指令,让程序在各个平台运行。JDK是什么jdk包含了jre,Java开发,调试,监视应用程序的工具。JDK的目录结构和作用:​ JDK会有jdk和jre两个文件夹,​

2021-07-28 10:40:16 149

原创 线程池讲解第二回

Java线程池的构造Java线程池的类关系图线程池的核心类 ThreadPoolExecutorThreadPoolExecutor: 所有的其他类和接口,都是围绕这个类提供的各自功能。AtomicInteger ctl:记录线程池状态和线程池数量,选择32位来记录,高3位用来记录线程状态,低29位记录线程数量。111:running,000:shutdown,001:stop,010:tidying,011:terminated。execute()方法:执行任务的方法。主要是通过判断

2021-07-22 16:32:24 98

原创 线程池讲解第一回

线程池讲解第一回 孟达手写线程池 街球王伟夜战叔弘简单的线程池实现public class ThreadPoolTrader implements Executor { private final AtomicInteger ctl = new AtomicInteger(); private volatile int corePoolSize; private volatile int maximumPoolSize; private final Blo

2021-07-21 17:43:31 53

原创 Java线程是如何启动 & Thread的状态转换

Java线程是如何启动的?简单来说:Java创建线程和启动调用本地方法start0()JVM中JVM_StartThread的创建和启动JVM中设置线程状态,等待被唤醒JVM根据不同的OS启动线程并且唤醒最后回调run()方法启动Java线程Thread的状态转换Java.lang.Thread.State枚举类中存在6个状态:new runnable blocked waiting timed_waiting terminatednew: "new Thread()"操作之后,

2021-07-16 14:58:49 134

原创 AQS与CAS了解

AQS你了解吗?AQS是AbstractQueuedSynchronizer简称,这是一个抽象类,提供了被子类覆盖的protected方法。在底层使用了CAS提供了乐观锁服务,如果冲突的时候,采用自旋方式进行重试,实现轻量级和高效的获取锁。通过AQS实现一个简单的Lock:在类中定义Sync内部类,Sync实现AbstractQueuedSynchronizer重写:tryAcquire,tryRelease,isHeldExclusively在tryAcquire中使用CAS,以预期值为0

2021-07-13 16:32:01 242 1

原创 解决 class path resource [xx] cannot be resolved to absolute file path because it does not reside

class path resource [xx] cannot be resolved to absolute file path because it does not reside发布线上之后出现的问题,查询资源发现是因为代码中直接调用getFIle()造成的问题。ClassPathResource classPathResource = new ClassPathResource("xxx/xxx.txt");File outFile = classPathResource.getFile();

2021-06-24 17:26:31 2770 2

原创 Java使用poi操作ppt

Java使用poi操作ppthttps://editor.csdn.net/md/?articleId=117926694上一篇中写了操作文本框和插入图片这一篇主要是如何在有模板的情况下如替换文本和修改表格替换表示符号文本1. 加载模板到对象中// 模板设置到项目中resources目录下ppt文件夹ClassPathResource classPathResource = new ClassPathResource("ppt/template.pptx");InputStream inpu

2021-06-24 17:08:54 1770 1

原创 Java使用poi导出ppt文件

导入poi相关依赖<!--导入依赖--> <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </depe

2021-06-15 15:57:33 2119 5

原创 mysql事务测试

mysql事务测试1、打开mysql的命令行,将自动提交事务给关闭--查看是否是自动提交 1表示开启,0表示关闭select @@autocommit;--设置关闭set autocommit = 0;2、数据准备--创建数据库create database tran;--切换数据库 两个窗口都执行use tran;--准备数据 create table psn(id int primary key,name varchar(10)) engine=innodb;--插入数据i

2021-02-25 15:07:31 104

原创 Mysql数据库的简单操作

Mysql数据库的简单操作启动和关闭Mysql数据库net start mysqlnet stop mysql数据库连接mysql -h(ip) -P(端口) -u(用户) -p(密码)如果是访问本地数据库,h可以省略:mysql -u(用户) -p数据库查看版本未登陆的情况下: mysql – version 或是mysql -V登陆之后: select version();显示操作:show关键字;use关键字show databases;显示所有的数据库use databa

2021-02-25 15:06:57 86

原创 Mysql数据库的安装

Mysql数据库的安装window下Mysql数据库的安装Mysql5.7数据库安装​ 下载地址: https://dev.mysql.com/downloads/mysql/; 选择相关的版本进行下载​ 1. 进行安装:​ 2. 解压安装文件:​ 3. 在mysql目录中新建data目录.新建my.ini文件​ 4. 在my.ini文件内复制下边的内容:[Client]port = 3306[mysqld]#设置3306端口port = 3306# 设置mysql的安装目录b

2021-02-25 15:05:52 103

原创 12.oracle表的创建、约束、索引

12.oracle表的创建、约束、索引表的创建基本语法CREATE TABLE [schema.]table (column datatype [DEFAULT expr] , … );例子:-- 建一张表用来存储学生信息的表,表中的字段包含了学生的学号,姓名,年龄,入学日期,年级,班级,email-- 指定年级(grade)默认值为1,如果在插入数据时,不指定grade的值,就表示一年级的学生create table student( stu_id number(10),

2021-01-29 15:05:59 409 1

原创 oracle数据库sql的练习题

oracle数据库sql的练习题-- 1.查询20号部门的所有员工信息。select *from EMPwhere DEPTNO = 20;-- 2.查询所有工种为CLERK的员工的工号、员工名和部门名。select e.EMPNO, e.ENAME, d.DNAMEfrom emp e join DEPT d on e.DEPTNO = d.DEPTNOwhere JOB = 'CLERK';-- 3.查询奖金(COMM)高于工资(SAL)的员工信息。select

2021-01-25 14:14:21 3350 1

原创 11.oracle事务

11.事务概念事务的定义​ 事务: 表示操作集合,不可分割,要么全部成功,要么全部失败​ 事务的开始取决于一个DML语句事务的结束正常的commit(使用数据修改生效) 或者rollback(将数据恢复到上一个状态)自动提交,但是一般情况下要将自动提交进行关闭,效率太低用户关闭会话之后,会自动提交事务系统崩溃或者断电的时候回滚事务,也就是将数据恢复到上一个状态insert into emp2(EMPNO,ENAME) values (2222,'zhangsan');commit;

2021-01-25 14:13:47 83

原创 10.oracle中的DML

10.oracle中的DMLDML: 数据库操作语言增,删,改在实际项目中,使用最多的是读取操作,但是插入数据和删除数据同等重要,而修改操作相对较少;插入操作​ 元组值的插入​ 查询结果的插入插入的方式-- insert into tablename values(val1,val2,...) 如果表名之后没有列,只能将所有的列都插入-- insert into tablename values(val1,val2,...) 可以指定向哪些列中插入数据insert into emp v

2021-01-25 14:13:10 250

原创 09.oracle中的序列

09.oracle中的序列在oracle中如果要实现一个列的自增操作,必须要使用序列来完成创建序列的sql语句create sequence seq_name increment by n -- 每次增长几 start with n -- 从哪个值开始增长 maxvalue n|nomaxvalue 10^27 or -1 -- 最大值 minvalue n|no minvalue -- 最小值 cycle|nocycle -- 是否有循环 cach

2021-01-25 14:09:21 96

原创 08.oracle数据库视图学习

08.oracle数据库视图学习视图创建CREATE [OR REPLACE] VIEW view[(alias[, alias]...)]AS subquery[WITH READ ONLY];视图创建权限grant create view to scott查询视图-- 创建视图create view v_emp as select * from emp where DEPTNO = 30;-- 查询视图select * from v_emp;向视图中增加数据-- 向视图

2021-01-25 14:08:44 121

原创 07.oracle数据库的行转列

07.oracle数据库的行转列-- 列转行create table tmp(rq varchar2(10),shengfu varchar2(5));insert into tmp values('2005-05-09','胜');insert into tmp values('2005-05-09','胜');insert into tmp values('2005-05-09','负');insert into tmp values('2005-05-09','负');insert i

2021-01-25 14:08:17 103

原创 06.oracle的子查询连接

oracle的子查询连接子查询:​ 嵌套再其他sql语句中的完整sql语句,可以称之为子查询分类:单行子查询多行子查询-- 有哪些人的薪水是整个雇员的平均薪水之上的-- 1.先求平均薪水select avg(sal)from EMP;-- 2.把每个人薪水与平均薪水进行比较select EMPNO, ENAME, SALfrom EMPwhere SAL > (select avg(sal) from EMP);-- 1.雇员中哪些人是经理人se

2021-01-25 14:07:41 120

原创 05.sql的连接

sql的连接92语法语法规则:select t1.column,t2.columnfrom t1,t2where t1.c1 = t2.c1在where子句中写入连接条件当多个表中有重名的列,必须在列名之前加上表名连接类型:笛卡尔积select 字段列表 from t1,t2,t3检索出的行数是两个表的行数的乘积检索出的列数是两个表的列数相加应该保证所有联结都有where子句,不然数据库返回比想要的数据多得多的数据等值连接 : equi joinse

2021-01-25 14:07:14 66

原创 04.oracle函数

04.oracle函数概念输入 -> (函数) -> 输出结果sql的函数一般是在数据上执行,处理数据,不会改变数据库中的值;分类组函数: 聚合函数,用于对多行数据进行操作,并返回一个单一的结果,组函数仅可用于选择列表或查询的having子句单行函数: 单个数值进行操作,并返回一个值单行函数字符函数返回字符类型返回数字类型--字符函数--concat:表示字符串的连接 等同于||select concat('my name is ',ENAME)from

2021-01-16 18:22:18 121

原创 03.oracle的sql语句

03.oracle的sql语句查询语句-- 查询员工表中部门编号设计select EMPNO,ENAME,JOB from emp where DEPTNO = 10;-- distinct 去重查询 必须放到开头,多个字段的时候,每个字段都不一样才去重select distinct DEPTNO from emp;-- 查询过程中可以个列添加别名select e.EMPNO 雇员编号,e.ENAME as 雇员名称,e.JOB 雇员工作 from EMP e where e.DEPTNO =

2021-01-16 18:21:43 107

原创 02.oracle常用命令

02.oracle常用命令切换用户:conn scott/tiger展示当前用户:show user修改当前用户的密码:passw查询所有的表:select * from tab;格式化数据:set pagesize 50;set linesize 200;切换管理员账户:conn sys/root@orcl as sysdba;查看某个归属某个人的表:select * from scott.emp;(select * from user.table;)解锁用

2021-01-16 18:20:38 82

原创 oracle卸载

完全卸载oracle11g1、 开始->设置->控制面板->管理工具->服务,停止所有Oracle服务。2、 开始->程序->Oracle_OraDB11g_Home1->OracleInstallation Products->Universal Installer,单击“卸载产品”-“全部展开”,选中除“OraDb11g_home1”外的全部目录,删除。5、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。6、运行reged

2021-01-16 18:20:02 164

原创 01.oracle安装

oracle数据库安装1.将压缩包进行解压,大家会看到两个压缩包,将两个报全部都进行解压:2.内容替换将win64_11gR2_database_2of2包中的components的内容替换到win64_11gR2_database_1of2中的相同目录下;3.进行安装完成上述步骤后,软件的安装目录如下:双击setup.exe程序进行安装4.Oracle安装之后会检测环境,会提示不满足,点击是即可5.填写邮件信息,此处不填写,将对勾取消6.此处弹出警告信息,忽略即可7.安装完成

2021-01-16 17:34:41 88

原创 gradle编译java项目出现:java.exe‘ ‘finished with non-zero exit value 1问题

解决java项目出现:java.exe’ 'finished with non-zero exit value 1问题具体问题详情:Execution failed for task ':T01_Teet.main()'.>Process 'command 'xxx/java.exe'' finished with non-zero exit value 1上边是报错信息,使用gradle构建的的Java的学习项目,写完代码,没有问题,但是进行运行就会爆这个问题。查看详细的问题发现是在程

2020-08-29 11:55:55 7000 3

原创 gradle + idea项目控制台中文乱码

gradle + idea项目控制台中文乱码刚开始是启动程序直接报错:需要在gradle的配置文件中添加tasks.withType(JavaCompile) { options.encoding = 'UTF-8'}可以正常启动,但是控制台还是存在中文乱码的问题需要修改idea配置 打开HELP下边的edit custom vm options -Dfile.encoding=UTF-8上边都是在网上找到的,但是修改了控制台中文还是乱码,然后我就找了idea的安装路径中,找到了

2020-08-07 16:39:51 645

原创 Oracle+Mybatis查询select...in...按照in中的内容进行排序返回

按照in语句中内容进行返回这里使用了Oracle中的函数DECODE,对应的数据库语句DECODE函数的介绍select * from tblwhere id in('A7519254DEA575ECE053EB68580A1371','A7519254DEA875ECE053EB68580A1371','A7519254DEA675ECE053EB68580A1371','A7519254DEA775ECE053EB68580A1371')ORDER BY "DECODE"(

2020-06-08 09:50:30 959

空空如也

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

TA关注的人

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