自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(205)
  • 资源 (7)
  • 收藏
  • 关注

转载 一张表可以有多少个主键

1、数据库的每张表只能有一个主键,不可能有多个主键。2、所谓的一张表多个主键,我们称之为联合主键。 注:联合主键:就是用多个字段一起作为一张表的主键。3、主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。如何创建联合主键?CREATE TABLE 'TEST_TABLE' ( 'ID' VARCHAR(10) NOT NULL COMMENT'ID值', 'name' VARCHAR(10) NOT NULL COMMENT'na...

2021-03-16 16:21:56 11275

转载 如何快速解决Java网络编程设置请求超时

https://blog.csdn.net/longdan3105/article/details/78929967?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242一、引言随着企业系统的发展,应用多采用分布式结构,严重依赖于网络的稳定性。但由于网络天生的不稳定性,系统开发过程中需要考虑网络不稳定情况下如何保证应用的健壮性。 设置网络超时是其中一种保证应用健壮性的手段。 设置网络.

2020-12-15 11:19:22 1158

转载 idea创建springboot项目报错:Please check URL

idea创建springboot项目报错Initialization failed for 'https://start.spring.io' Please check URL, network and proxy settings.(有时候成功,有时候等好久然后失败)参考:https://www.cnblogs.com/xww115/p/11265030.html

2020-12-13 12:46:59 1218

转载 BeanFactory和ApplicationContext区别

BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。其中ApplicationContext是BeanFactory的子接口。(1)BeanFactory是Spring最底层的接口,包含了各种Bean的定义,读取bean配置文档,管理bea的加载、实例化,控制bean的生命周期,维护bean之间的依赖关系。ApplicationContext接口作为BeanFactory的派生,除了提供BeanFactory所具有的功能外,...

2020-12-07 14:38:23 337

原创 Spring Boot学习之---Spring Boot与检索 下(十六)

五、Spring Boot整合ElasticSearch测试引入spring-boot-starter-data-elasticsearch 安装Spring Data对应版本的ElasticSearch application.yml配置 Spring Boot自动配置的 测试ElasticSearch六、创建IDEA项目七、ElasticSearch的自动配置过程* SpringBoot默认支持两种技术来和ES交互* 1、Jest【需导入jest的工具包io.search.

2020-12-07 00:45:52 165

原创 Spring Boot学习之---Spring Boot与检索 上(十六)

ElasticSearch 弹性检索一、全文检索ElasticSearch我们的应用经常要添加检索功能,开源的ElasticSearch是目前全文搜索引擎的首选。它可以快速的存储、搜索和分析海量数据。Spring Boot通过整合Spring Data ElasticSearch为我们提供了非常便捷的搜索功能支持。ElasticSearch是一个分布式搜索服务,提供Restful API,基于底层Lucence(一个开源的搜索引擎,ElasticSearch是对它的封装。),采用多shard(分

2020-12-05 23:08:21 158

原创 Spring Boot学习之---Spring Boot与消息 下(十五)

一、RabbitMQ的整合1、引入spring-boot-starter-amqp2、application.yml的配置3、测试RabbitMQ- AmqpAdmin:管理组件-RabbitTemplate:消息发送处理组件二、创建IDEA项目,选择集成RabbitMQ

2020-12-03 00:37:08 229

原创 Spring Boot学习之---Spring Boot与消息 上(十五)

JMS、AMQP、RabbitMQ一、概述1、大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力2、消息服务中有两个重要概念:消息代理(message broker,表示消息队列服务器实体。)和 目的地(destination)当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。3、消息队列主要有两种形式的目的地①队列quene:点对点消息通信pointo-to-point②主题topic:发布publish/订阅subscribe消息通信4

2020-12-01 21:34:23 97

原创 网易云课堂学习之 -- JAVA多线程

一、有这样一道面试题面试题目:实现一个 限流场景中 使用的计数器,说出你的方案二、实现方案第一种实现方案:直接使用int变量 i++ 操作计数器最终结果: 17477。<=2000,说明存在多线程安全问题能用,局限于 非多线程 场景为什么会出现 多线程下 计算不准确的问题?java提供的命令:javap -v xx.class 可以帮我们看懂字节码文件我们可以看到 JAVA在这里的底层操作:1、获取当前值;2、计算;3、赋值 。两个线程同时获取到同一个当前值,提交

2020-12-01 12:32:05 178

原创 网易云课堂学习之 -- ReentrantLock加锁原理

网易云课堂学习之 -- 分布式锁1、ReentrantLock和synchronized区别 锁的本质是:竞争。锁是一个对象。 相同:都是加锁等待 不同:synchronized -- 被动等待 -- 其他线程释放锁 ReentrantLock -- 更灵活 -- 锁的退出节点可控具体实现:synchronized是由JVM提供实现的,C语言编写的。和操作系统中监视器模型类似的一种实现。不要求会读C语言,所以面试一般问【偏向锁、轻量级锁、重量级锁】ReentrantLock 大部分是

2020-11-30 23:56:18 212

原创 深度解读Spring Boot核心原理

参考自csdn的直播课:深度解读Spring Boot核心原理一、Spring框架Ioc:控制反转 把Bean交给Ioc容器去管理。可以通过 依赖查找、依赖注入【DI】AOP:代理模式。如:日志、事务只有上面的思想就可以实现,但是会有不方便之处【重复性的工作】。spring核心包application.xml、spring-mvc.xmlweb.xml 每次配置DispatcherServletspring整合第三方一些依赖包,如:mybatis1、bean的setter注入.

2020-11-27 13:31:46 1368

转载 @Component 和 @Bean 的区别

@Component("bean的id值") 定义在类上,只要注解扫描器一扫描到就会创建该类的实例对象,放到Spring容器里面(当通过spring的注解@ComponentScan功能扫描类路径时,它将识别用@Component注释注释的类(在给定的包内),并创建此类的Bean,并将其注册到ApplicationContext中,注解@Component是一个类级别的注解)@Bean(name="c3p0") 定义在方法上,等价于<bean id="" class="" />@Bean的用

2020-11-18 18:25:36 238

原创 Java8的新特性--Stream流(二)

五、了解流StreamJava8中有两大最为重要的改变。第一是Lambda表达式,另外一个则是Stream API(java.util.stream.*)。Stream是Java8中处理集合的关键抽象概念。它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stram API对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用Stream API来并行执行操作。简而言之,Stream API提供了一种高效且易于使用的处理数据的方式。5.1 Str

2020-11-15 18:13:02 396

原创 Java8的新特性--Lambda表达式(一)

一、新特性简介1、速度更快 2、代码更少(增加了新的语法Lambda表达式) 3、强大的Stream API 4、便于并行 5、最大化减少空指针异常 Optional 其中,最核心的为Lambda表达式和Stream API二、Hashmap的实现原理,1.7和1.8有哪些区别参考链接,通俗易懂:https://www.cnblogs.com/stevenczp/p/7028071.htmlJDK1.7中使用一个Entry数组来存储数据,用key的hashcode取模来决定key

2020-11-14 23:10:29 350

原创 Java8的新特性--日期和时间(三)

6、新时间日期APIJava8日期/时间API是JSR-310的实现,它的实现目标是克服旧的日期实现中所有的缺陷,新的日期/时间API的一些设计原则是:不变性:新的日期/时间API中,所有的类都是不可变的,这对多线程有好处。 关注点分离:新的API将人可读的日期/时间和机器的日期/时间明确分离,它为日期Date、时间Time、日期时间DateTime、时间戳unix timestamp以及时区定义了不同的类。 清晰:在所有的类中,方法都被明确定义 用以完成相同的行为。举个例子,在所有的类中都..

2020-11-14 23:09:24 170

原创 Spring Boot学习之---Spring Boot的Docker(十)

一、简介Docker是一个开源的应用容器引擎,是一个轻量级容器技术。Docker支持将软件编译成一个镜像,在镜像中各种软件做好配置,将镜像发布出去,其他使用者就可以直接使用这个镜像了。运行中的镜像称为容器,容器启动是非常快速的,毫秒级别。当成虚拟机使用就可以了,但比虚拟机要快。二、核心概念docker主机(Host):安装了Docker程序的机器(Docker直接按照在操作系统之上)docker客户端(Client):连接docker主机进行操作docker仓库(Regi

2020-10-13 17:03:16 144

原创 Spring Boot学习之---Spring Boot的Servlet容器--服务器(九)

一、配置嵌入式Servlet容器

2020-10-12 22:49:00 298

原创 Spring Boot学习之---Spring Boot的错误处理机制(八)

一、SpringBoot默认的错误处理机制默认有两种:①浏览器的访问;②其他客户端的访问(如Postman的模拟)。为什么要区分为两种呢?因为发送的请求头不同。浏览器:text/html;其他客户端:如:*/*1、浏览器,返回一个默认的错误页面。(响应页面)2、其他客户端(如Postman的模拟)。响应一个json数据二、SpringBoot默认的错误处理机制 的原理1、源码参考:spring-boot-autoconfigure-2.3.4.RELEASE.jar!\org\spri

2020-10-11 22:42:16 185

原创 Spring Boot学习之---Spring Boot的Web开发2(七)

一、RestfulCRUD1)、设置默认访问首页2)、引入资源使用thymeleaf引入公共资源@{/}:/代表当前项目下,如引入Bootstrap的公共资源,先引其依赖3)、国际化

2020-10-11 08:22:00 118

原创 Spring Boot学习之---Spring Boot的Web开发(六)

一、简介使用Spring Boot进行web开发的步骤:1、创建应用,选择我们需要的模块。创建项目的方式和创建jar的一样。2、默认已经将这些场景配置好了,只需要在配置文件中指定少量的配置就可以运行起来3、自己编写业务代码还是要知道自动配置的原理:Spring Boot默认配置了什么,哪里可以修改1、xxxAutoConfiguration:给容器中自动配置组件2、xxxProperties:配置·类,来封装配置文件中的内容二、Spring Boot对静态资源的映射规则1、所有/w

2020-10-04 17:18:14 149

原创 Spring Boot学习之---Spring Boot的日志框架(五)

一、日志框架的了解市面上的日志框架。分为日志门面和日志实现。 Spring框架默认使用的JCL(也就是commons-logging) Spring Boot选用SLF4j和logback。 JCL 最后更新在2014年,之后就没有更新了。所以现在主要使用SLF4J来打印日志 log4j、logback、slf4j都是一个人写的。log4j存在缺陷所以有了logback。后来发现该有一个接口规范来定义,所以有了日志门面slf4j log4j2是Apache公司仿的log4j日志门面 (日志的

2020-09-27 22:33:13 188

原创 Spring Boot学习之---Spring Boot的配置文件与注入(四)

一、配置文件Spring Boot有两个全局的配置文件,文件名固定:application.properties 和 application.yml .properties配置文件的优先级高于.yaml配置文件(两者同时存在时,先读yml,再读properties,这时后者会覆盖前者配置)配置文件的作用:修改Spring Boot自动配置的默认值(Spring Boot在底层都给我们自动配置好)YAML(YAML Ain't Markup Language):不是一种标记语言,以数据为中心,比.

2020-09-27 10:10:32 262

原创 Spring Boot学习之---探究HelloWorld 与 快速创建(三)

一、探究HelloWorld1、POM文件从上一篇中知道,首先要导入依赖。依赖中包含父项目。<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version></parent

2020-09-23 18:33:24 116

原创 Spring Boot学习之---Sprint Boot的环境准备与HelloWorld(二)

一、环境准备1、环境约束-jdk1.8:Spring Boot官方推荐jdk1.7及以上版本;java -version -maven3.x:推荐maven3.3以上版本;mvn -v ;Apache Maven 3.6.0 -IntelliJlDEA2017:或STS -Spring Boot1.5.9.RELEASE:2、统一环境(1)MAVEN设置给maven的settings.xml配置文件的profiles标签添加<profile> <id>

2020-09-22 22:39:43 152

原创 Spring Boot学习之---Sprint Boot的介绍(一)

一、Sprint Boot入门1、Sprint Boot简介简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 官网:https://spring.io/projects/spring-boot 优点: Spring Boot是对Spring框架的一个再封装,入门容易。想要了解原理,还得深入了解Spring Spring Data 是用来做数据访问的,不管是sql还是nosql 。 Spring Cloud 是用来做分布.

2020-09-22 17:00:26 326

原创 Golang学习之---goroutine协程和channel管道(八)

一、goroutine和channel1.1 进程和线程①进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。②线程是进程的一个执行实例,是程序执行的最小单元,它是比进程更小的能独立运行的基本单位。③一个进程可以创建和销毁多个线程,同一进程中的多个线程可以并发执行。④一个程序至少有一个进程,一个进程至少有一个线程。1.2 程序、进程和线程的关系示意图1.3 并发和并行①多线程在单核上运行,为并发②多线程在多核上运行,为并行③示意图:小结:并发:在一

2020-08-11 23:25:23 460

原创 Golang学习之---反射机制(九)

①funcTypeOf(iinterface{})Type:获取reflect.Type类型 TypeOf返回接口中保存的值的类型,TypeOf(nil)会返回nil。 ②funcValueOf(iinterface{})Value:获取reflect.Value类型 ValueOf返回一个初始化为i接口保管的具体值的Value,ValueOf(nil)返回Value零值。 ③获取变量对应的类别kind,有两种方式: (1)Type接口中的方法 Kind() Kind:Kind返回...

2020-08-11 13:37:49 350

原创 Golang学习之---文件流、json与testing单元测试(七)

一、文件操作文件时数据源(保持数据的地方)的一种,比如大家经常使用的word文档、txt文档、excel文档,包括存在数据库里的数据也是一种文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频,声音等...1.1 输入流和输出流1.2 os.File封装所有文件相关操作,File是一个结构体后面操作文件,会经常使用到os.File结构体1.3 打开文件和关闭文件...

2020-08-03 18:43:01 560

原创 Golang学习之---面向“对象”编程(接口与多态)下(六)

一、抽象把一类事物共有的属性(字段)和行为(方法)提取出来,形成一个物理模型(结构体)。这种研究问题的方法称为抽象。二、封装encapsulation封装就是把抽象出来的字段和对字段的操作封装在一起,数据被保护在内部,程序的其他包只有通过被授权的操作(方法),才能对字段进行操作。2.1 封装的好处①隐藏实现细节,安全 ②可以对数据进行验证,保证安全合理(Age)2.2 封装的实现步骤①将结构体、字段的首字母小写(不能导出了,类似于Java中的private) ②给结构体所在包提

2020-07-29 16:53:45 135

原创 Golang学习之---面向“对象”编程(struct结构体、方法、工厂模式)(五)

一、面向“对象”编程一个程序就是一个世界。1、Golang语言面向对象编程说明①、Golang也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。所以我们说:Golang支持面向对象编程特性是比较准确的。 ②、Golang没有类class,取而代之的是结构体struct。可以这样理解:Golang是基于struct来实现OOP特性的。 ③、Golang面向对象编程非常简洁,去掉了传统的OOP语言的继承(继承并不是去掉了,而是通过匿名字段实现)、方法重载、构

2020-07-28 16:17:54 389

原创 Golang学习之---Golang的数组、切片、排序和查找、map(四)

一、数组二、切片切片的数据结构是引用类型,切片是一个可以动态变化的数组。var切片名[]类型1、切片在内存中的布局从上图可以看出: 1、切片的确是一个引用类型 2、切片从底层来讲,其实就是一个数据结构(struct结构体) type slice struct { ptr *[2]int len int cap int }...

2020-07-21 17:25:07 2901

原创 Golang学习之---Golang的函数、包、错误处理机制、函数参数传递方式、变量(三)

一、函数1、函数的基本语法2、函数的调用过程上面的堆和栈都是逻辑空间,从上图可以得知: (1)在调用一个函数时,会给该函数分配一个新的空间,编译器会通过自身的处理让这个新的空间和其他栈的空间区分开来 (2)每个函数对应的栈中,数据空间是独立的,不回混淆 (3)当一个函数调用完毕后,编译器会自动销毁这个函数对应的栈空间。二、包1、包的使用注意事项(1)在给一个文件打包时,该包对应一个文件夹。比如这里的utils文件夹对应的包名是utils 文件的包名和文件所在的文件夹名一

2020-07-15 16:24:42 275

原创 myeclipse报错 java.lang.OutOfMemoryError: Java heap space

执行jar包报错:解决第二种OutOfMemoryError:1、Windows -> Preferences -> Java -> Installed JREs 2、点击右侧的jdk,然后点击“Edit”按钮 3、Default VM Arguments文本框中输入:-Xms128m -Xmx512m ,然后点击finish按钮即可我的问题解决了。有三种可能导致OutOfMemoryError。一、此JVM有真实的内存泄漏,导致此JVM堆在内部实现时产生了一个Bug。

2020-07-10 10:11:57 357

原创 Golang学习之---Golang的变量、常量与数据类型(一)

参考API Go语言中文网:https://studygolang.com/pkgdoc菜鸟教程:https://www.runoob.com/go/go-ide.html------SDK及安装工具下载,参考 word文档参考尚硅谷韩顺平老师视频这里的总结只是把初学时不懂的知识点列出来,系统性的知识参考《尚硅谷_韩顺平_Go语言核心编程.pdf》和 代码 goproject一、变量不管使用哪种高级程序语言编写程序,变量都是程序的基本组成单位。变量=变量名+值+数据类型二、数...

2020-07-04 23:39:19 561

原创 Golang学习之---Golang语法介绍(二)

一、标识符的命名规范1、标识符概念Golang对各种变量、方法、函数等命名时使用的字符序列称为标识符。简单来说,凡是我们自己可以起名字的地方都叫标识符。2、命名规则1、数字、字母、_组成 2、数字不能打头 3、Golang中严格区分大小写。num和Num是两个不同的变量。 4、标识符不能包含空格 5、下划线_在Go中是一个特殊的标识符,称为空标识符。代表忽略,如忽略某个返回值。所以仅能作为占位符使用,不能作为标识符使用。 6、不能以系统保留关键字作为标识符(保留关键字公有25个),

2020-07-04 23:38:46 246

转载 Java中的this 关键字

如何使用this关键字?1、消除字段歧义public class Writer { private int age; private String name; public Writer(int age, String name) { this.age = age; this.name = name; }}Writter类有两个成员变量,分别为age和name,在使用有参构造函数的时候,如果参数名和成员变量的名字相同,就需要使

2020-07-01 17:05:50 261

转载 字符和字节的区别

(一)“字节”的定义字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。(二)“字符”的定义字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。(三)“字节”与“字符”它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同编码里,字符和字节的对应关系不同:①ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在..

2020-06-28 17:13:15 3070 2

原创 字符编码的爱恨情仇--ASCII与UTF-8

参考链接:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html一、ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 上个世纪6...

2020-06-28 15:44:06 288

原创 Dos的常用指令

一、Dos的基本介绍Dos:Disk Operating Sytem 磁盘操作系统二、Dos的基本操作原理三、常用操作指令3.1 目录操作指令1、dir 查看当前目录 2、①cd \d f: ②f: 切换到其他盘下。如:从当前的d盘切换到f盘下。 3、切换到当前盘的其他目录下(使用相对路径和绝对路径) 相对路径:cd aaa 绝对路径:cd d:\a\aa\aaa 4、cd .. 切换到上一级 5、cd \ 切换到根目录 6、新建目录 md(nake...

2020-06-24 21:50:39 490

原创 小白专属---IntelliJ IDEA的Web项目与Maven项目(三)

一、创建Java Web项目1、以Module的形式创建静态Java Web选中项目/ File -> New -> Module,选择 Static Web2、以Module的形式创建动态的 Java Web2.1 以Module的形式创建动态的 Java Web①选中项目/ File -> New -> Module,选择 Java。这里创建的是简单的web项目,不涉及框架等。这里一定要勾选 Web Application,才能创建一个 Web 工程。②

2020-06-19 10:16:52 1204 1

Redis-x64-3.2.100 windows版.zip

redis解压安装即可使用==

2020-04-08

MyEclipse的fat_jar工具---net.sf.fjep.fatjar_0.0.31.zip

MyEclipse的fat_jar工具---net.sf.fjep.fatjar_0.0.31.jar ---------------------------------------------------------- 放到 ..\myeclipse-8.5.0-win32\MyEclipse 8.5\dropins目录下面 重启程序,重启后显示 Build Fat Jar 即为成功

2019-09-19

自己编写的fifter过滤器.zip

自己编写的fifter过滤器

2019-08-02

ojdbc驱动类库14、6、7、8.zip

jdbc驱动类。。。 -----借鉴:1、ojdbc14.jar 适用于 JDK 1.4 and 5.0;2、之前使用ojdbc14.jar(不记得哪个版本了)批量插入10万条,实际只插入了3万多条,其它的丢失了,换ojdbc6.jar后,一次commit批量插入100万条也OK了。-----所以不推荐使用了 。。。 -----借鉴:ojdbc6.jar: 适用于jdk6 (如果你使用jdk1.5,就不能使用这个驱动)------ -----借鉴:ojdbc7.jar: 适用于jdk7 ------

2019-08-01

ojdbc14.zip

jdbc驱动类,,,,-----借鉴:1、ojdbc14.jar 适用于 JDK 1.4 and 5.0;2、之前使用ojdbc14.jar(不记得哪个版本了)批量插入10万条,实际只插入了3万多条,其它的丢失了,换ojdbc6.jar后,一次commit批量插入100万条也OK了。-----所以不推荐使用了

2019-08-01

ftp服务端工具--freeSSHd.zip

ftp服务端工具--freeSSHd.exe 或 windows自带ftp功能。 但是有的电脑不是专业版,而是家庭和学生版,不支持创建新的用户和组,所以ftp之后没有创建用户这一步。 那在程序中使用的时候,如何配置ftp上传或下载的ip、port、用户名、密码呢? ip、port照旧。 用户名及密码配置主机自身的,即电脑开机登陆时的。

2019-07-04

空空如也

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

TA关注的人

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