自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 Docker尚硅谷_高级篇

容器间的互联和通信以及端口映射。容器 IP 变动时候可以通过服务名直接网络通信而不受影响。(类似Eureka,通过服务名直接互相通信,而不是写死IP地址)。docker中还有一个--link进行容器网络互联,但是已经被标记为过时的,可能会在将来的版本中移除这个功能。推荐使用自定义网络替换link。自定义桥接网络(自定义网络默认使用的是桥接网络bridge):新建自定义网络查看网络列表创建容器时,指定加入我们自定义的网络中此时进入tomcat1中,使用ping命令测试连接tomcat2。

2024-05-11 09:16:09 479

原创 java线程池

核心线程数(corePoolSize)核心线程数的设计需要根据任务的处理时间和每秒产生的任务数量来确定,例如:执行一个任务需要0.1秒,系统百分之80的时间每秒都会产生100个任务,那么要想在1秒内处理完这100个任务,就需要10个线程,此时我们就可以设计核心线程数为10;当然实际情况不可能这么平均,所以我们一般按照8082原则设计即可,既按照百分之80的情况设计核心线程数,剩下的百分之20可以利用最大线程数处理。任务队列长度(workQueue)

2024-01-15 23:30:23 957 1

原创 Docker(尚硅谷)

一次搬家、处处运行docker官网:http://www.docker.comDocker Hub官网:https://hub.docker.com/Docker本身是一个容器运行载体或称之为管理引擎,我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。image文件可以看作是容器的模板。Docker根据image文件生成容器的实例。同一个image。

2023-09-25 22:04:29 6

原创 java -- 深拷贝和浅拷贝的区别 & 如何实现深拷贝和浅拷贝

Object类有个clone()的拷贝方法,不过它是protected类型的,我们需要重写它并修改为public类型。除此之外,子类还需要实现Cloneable接口来告诉JVM这个类是可以拷贝的。深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存。使用深拷贝的情况下,释放内存的时候不会因为出现浅拷贝时释放同一个内存的错误。让我们修改一下Fruit类,实现Cloneable接口,使其支持深拷贝。

2023-09-06 23:27:54 504

原创 什么是快速失败(fail-fast)和安全失败(fail-safe)?

modCount:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集合在被遍历期间如果内容发生变化,就会改变 modCount 的值。场景:java.util.concurrent包下的容器都是安全失败,可以在多线程下并发使用,并发修改。场景:java.util 包下的集合类都是快速失败的,不能在多线程下发生并发修改(迭代过程中被修改)。因为遍历时是通过快照数组进行的遍历,不会影响原有的集合的任何操作。安全失败机制的集合容器中的Itr源码。在集合采取该方法进行遍历时,

2023-09-06 22:39:16 518

原创 JAVA基础知识(五)——面向对象(中)

为什么要封装?封装的作用和含义我要用洗衣机,只需要按一下开发和洗涤模式就可以了。有必要了解洗衣机内部的机构吗?有必要碰电动机吗?我要开车,。。。我们程序设计追求“高内聚,低耦合”高内聚:类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅对外暴露少量的方法用于使用。隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装的设计思想。xb.eat();xb.move();

2023-08-19 23:21:50 215

原创 JAVA基础知识(四)——面向对象(上)

程序员从面向过程的执行者转化成了面向对象的指挥者面向对象分析方法分析问题的思路和步骤根据问题需要,选择问题所针对的现实世界中的实体。从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。把抽象的实体用计算机语言进行描述,形式计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。类(Class)和对象(Ojbect)是面向对象的核心概念。

2023-08-19 10:31:11 125

原创 JAVA基础知识(三)——数组

数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

2023-08-18 17:28:45 120

原创 JAVA基础知识(六)——异常处理

在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等。异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)Java程序在执行过程中所发生的的异常事件可分为两类Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。StackOverflowError和OOM(OutOfMemoryError)。一般不编写针对性的代码进行处理。

2023-08-17 21:52:31 166

原创 JAVA基础知识(二)——程序流程控制

switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);同时,位置也是灵活的。当没有匹配的case时,执行default;case子句中的值必须是常量,不能是变量名或不确定的表达式值;否则,循环将不能结束,变成死循环。同一个switch语句,所有case子句中的常量值互不相同;在某些条件满足的情况下,反复执行特定代码的功能。循环体部分(body_statement)根据循环条件,重复性的执行某段代码。

2023-08-16 23:26:04 134

原创 JAVA基础知识(一)——Java语言描述、变量和运算符

@TOC(Java语言描述、变量和运算符)三者之间的关系,以及包含的主要结构有哪些?为什么要配置path环境变量?如何配置?常用的几个命令行操作有哪些java语言结构示意图应用程序=算法 + 数据结构java语言特点面向对象性:健壮性 :跨平台性编译过程注释方式java的三种注释方式单行注释和多行注释的作用特点文档注释的使用多行注释不可以嵌套使用包名:多单词组成时所有字母都小写:类名、接口名:多单词组成时,所有单词的首字母大写:变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开发每个

2023-08-16 22:52:07 284

原创 Mybatis学习记录

最初是Apache的一个开源项目iBatis,2010年6月这个项目由迁移到了。随着开发团队转投旗下,正式更名为,代码于2013年11月迁移到。下载地址:添加链接描述2.2、创建MyBatis的核心配置文件习惯上命名为,这个文件名仅仅只是建议,并非强制要求。将来整合之后,这个配置文件可以省略。2.3、创建Mapper接口中的接口相当于以前的,但是区别在于,仅仅是接口,我们不需要提供实现类。例如示例2.4、 创建MyBatis的映射文件映射文件的命名规则:表所对应的实体类的类名+例如:表,映

2023-02-22 23:22:17 280 1

原创 Pdfjs使用

pdfjs预览、pdf水印

2022-11-21 19:22:56 3335

原创 Java路线图

java

2022-10-10 22:55:18 182

原创 Java8新特性

速度更快代码更少(增加了新的语法Lambda表达式)强打的Stream API便于并行最大化减少空指针异常Optional其中最为核心的为Lambda表达式与Stream APImap默认大小16速度最快hashmap:占用的内存更少:没有永久区,采用metaspace元空间(物理内存)流(Stream)到底是什么呢?是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。“集合讲的是数据,流讲的是计算!”注意Stream 自己不会存储元素。

2022-10-07 21:46:48 848

原创 Java接口中的default(默认方法)

如果新增的这个方法写成普通方法的话,那么需要在该接口所有的实现类中都重写这个方法。默认方法可以通过接口的实现对象直接调用,可以被接口的实现类重写。方法,哪个实现类需要新增该方法,就在哪个实现类中进行实现。当我们进行业务扩展时,需要在接口中新增方法。类型,就不需要在所有的实现类中全部重写该。Java的接口中有一种特殊的方法,叫做。但是,需要注意在什么情况下,如果新增的方法定义为。

2022-09-18 19:47:48 5032

原创 Comparator和Comparable的区别

Comparable和Comparator都是两个接口,接口都可以用来实现集合中元素的比较、排序,Comparator位于包java.util下,而Comparable位于包java.lang下,Comparable接口将比较代码嵌入自身类中,而Comparator既可以嵌入到自身类中,也可以在一个独立的类中实现比较。等这些基本类型的JAVA封装类都已经实现了Comparable接口,这些类对象本身就支持自比较,直接调用就可以对集合中元素的排序,无需自己去实现Comparable接口。

2022-09-18 12:24:37 184

原创 Mybatisplus

是一个的,在的基础上,。提供了通用的,可以在不编写任何语句的情况下,快速的实现对单表的CRUD、批量、逻辑删除、分页等操作。任何能使用 进行 , 并且支持标准 的数据库,具体支持情况如下,如果不在下列表查看分页部分教程 您的支持。: 扫描实体,决定,然后通过将我们的实体类进行抽取,在根据相应的方法(),生成相应的语句,然后注入到容器中。目录结构以及配置如下创建文件、实体类、文件以及相应的测试方法UserMapper代码如UserMybatisplusDemoApplica

2022-07-10 22:12:16 459

转载 AngularJS ui-sref的简单使用

具体用法:这是一个非常简单的的使用,当重新生成网页时,它会查找中名为的,读取这个的,然后在标签里生成,但如果,你在创建一个导航控制器,里面有一个导航item的数组:然后在中使用:不支持动态绑定,这样的代码会报错。中你只能使用名,顶多加点参数。这样的话,你只能放弃,用回绑定,你可以用来读取的。下面简单介绍下参数的传递页面写法如下路由里面配置:点击连接后,浏览器的地址则会变为:或者也可以这样然后在对应的里面通过取值:其实和本质上是一个东西,可以看看源码...

2022-06-29 09:35:23 410

原创 Xshell传输文件

上传路径:介绍我们需要向系统里面传东西。下载路径:就是我们把系统里面的大小拷贝出来。打开 ,输入命令: ,准备连接远程服务器按照的弹窗提示,输入登录用户名及其密码当然,也可以在输入命令中直接提供登录用户:,这样会直接弹窗提示输入相应密码进行登录登录成功,会看到有关的提示符 与 ,是查看远程服务器的当前目录路径, 是查看本地电脑的当前目录路径; 与 , 是切换远程服务器的目录, 是切换本地电脑的目录; 与 , 是查看 服务器的当前目录的文件信息, 是查看本地电脑的当前目录的文件信息 与 , 是上传

2022-06-28 22:46:49 23479

原创 WebService

WebService一、WebService是什么二、WebService案例常见的WEB服务京东、淘宝天气预报手机号归属地股票查询一、WebService是什么简介WebService就是一种**跨编程语言、跨系统平台的远程调用技术。所谓跨编程语言和跨系统平台就是说服务端程序采用java编写,客户端程序可以采用其他编程语言编写,反之亦然。跨操作平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。远程调用**,一台计算机的应用可以调用其他计算机上的应用。例如:支付宝,支付宝

2022-06-16 17:33:36 274

原创 Spring——Aop

aspect 静态织入SpringAop 动态织入

2022-06-16 14:10:01 143

原创 多线程学习

案例:下载图片使用jar包为commons-io-2.4.jar实现Runnable接口实现Callable接口实现Callable接口,需要返回值类型重写call方法,需要抛出异常常见目标对象创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1);提交执行:Future result1 = ser.submit(t1);获取结果:boolean r1 = result1.get();关闭服务:ser.sh

2022-06-13 17:54:02 117

原创 Elasticsearch(五)——集成SpringBoot

ContentControllerindexControllerContentContentServiceHtmlParseUtilStuEsJdApplicationapplication.propertiespom.xml二、处理ES版本问题发现版本问题在pom.xml中配置相应的版本配置之后要进行重新导入三、爬虫数据问题?数据库获取,消息对列中获取中,都可以成为数据源,爬虫!爬取数据:(获取请求返回的页面信息,筛选出我们

2022-06-08 12:09:18 658

原创 Elasticsearch(四)——ES基本操作

Rest风格一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。 它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。基于Rest命令说明下图执行信息显示:_index:索引名_type:类型名_id:文档id完成了自动增加了索引!,数据也成功的添加了,这就是学习初期把它理解为数据库的原因。下图是创建索引,定义数据的类型mappings: 定义个类型properties:自定属性通过命令查看elasticsearch索引情

2022-06-08 11:07:50 7759

原创 Elasticsearch(三)——ES核心概念理解

在前面的学习中,我们已经掌握了是什么,同时也把的服务已经安装启动,那么是如何去存储数据,数据结构是什么,又是如何实现搜索的呢?我们先来聊聊的相关概念吧!集群、节点、索引、类型、文档、分片、映射是什么?是面向文档,关系行数据库和elasticsearch客观的对比!(集群)中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包含多个文档(行),每个文档中包含多个字段(列)。之前说是面向文档的,那么就意味着索引和搜索数据的最小单位是文档,中,文档有几个重要属性:类型是文档的逻辑容器,

2022-06-07 22:34:16 319

原创 Elasticsearch(二)——安装与下载

下载地址:elasticsearch启动,端口为9200双击elasticsearch.bat 启动5. 访问elasticsearch重启es服务器,再次访问,显示正常建立索引四、ELK是三大开源框架首字母大写简称。市面上也被称为.其中是一个基于、分布式、通过进行交互的近实时搜索平台框架。像类似百度,谷歌这种大数据全文搜索引擎的场景都可以使用作为底层支持框架,可见提供的搜索能力确实强大,市面上很多时候我们简称为.是的中央数据流引擎,用于从不同目标(文件、数据存储/MQ)

2022-06-07 10:43:57 2035

原创 Elasticsearch(一)——概述

是软件基金会项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文和德文两种西方语言)。的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索i引擎。是一套用于全文检索和搜寻的开源程式库,由软件基金会支持和提供。提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在开发环境里是一个成熟的免费开源工具。就其本身而言,是

2022-06-06 21:57:17 942

原创 Tomcat部署Dubbo+Zookeeper项目

当端口冲突时分别修改8012、8088、8013端口配置项目的根目录在中配置如下内容,目的是为了访问项目时将文件名去掉修改窗口名称在中找到下列文件位置配置在中配置如下内容:启动项目双击即可三、tomcat中的Context配置详解元素代表一个应用,运行在某个特定的虚拟主机上。你可以在一个元素中嵌套任意多的元素。每个的路径必须是惟一的,由属性定义。另外,你必须定义一个路径长度为0的,这个称为该虚拟主机的,用来处理那些不能匹配任何的的请求。除了在元素中嵌套元素以外,

2022-06-06 17:59:12 528

原创 Log4j

是主流的日志框架,提供,多样化的日志服务在爬虫领域,主要用于记录爬虫的执行过程,方便排查爬虫执行错误问题;详细介绍 参考 百度百科rootLogger :指代 把指定级别的日志信息输出到指定的一个或者多个位置log4j日志等级根据日志信息的重要程度,分为。当然再细分的话还有(严重错误),但是官方建议实际使用的话,Log4j建议只使用四个级别,优先级从高到底分别是。当日志级别设置为低等级则其他日志等级可以显示,当设置为高等级则其他低等级不可显示当日志等级设置为ERROR时实际开发我们使用

2022-06-03 16:45:05 218

转载 jxl操作excel很慢的问题

是操作常用的工具,但是有的时候我们会发现当使用读写的时候会慢,就像卡住了一样。通过分析,我们发现是对象进行的时候,会有很长时间的停顿,进入方法源码:我们会发现一件很有意思的事情,它居然主动去了,而的开关就是的属性。这个属性是在对象进行初始化的时候设置的:这个属性就是从中获取的值,如果没有设置,那么就是,所以就会触发。找到了问题的原因,问题就好解决了,我们只需要在初始化的时候,手动设置一下中的属性即可:...

2022-06-02 22:29:32 693

原创 dubbo(七)——SpringBoot集成Dubbo和Zookeeper

:表示接口工程: 表示服务提供者: 表示服务消费者明确接口工程为java工程,需要将该工程打成jar包,供提供者和消费者使用打包步骤pom.xml三、服务提供者BootProviderApplicationapplication.propertiespom.xml四、服务消费者1.HelloDubboController

2022-06-01 23:18:57 294

原创 dubbo(六)——Dubbo配置

Dubbo配置一、一、dubbo中的服务参数尽量在服务提供者中配置,因为服务者比较清楚

2022-05-31 19:24:24 3849

原创 dubbo(五)——Zookeeper概述

Zookeeper概述一、一、

2022-05-31 16:58:01 732

原创 dubbo(四)——Dubbo官方推荐的项目结构

Dubbo官方推荐的项目结构一、一、

2022-05-31 15:46:04 954

原创 hibernate主键生成策略native,assigned,uuid的区别

hibernate主键生成策略native,assigned,uuid的区别前言assignednativeuuid前言hibernate在操作数据时一般使用这3种id主键生成策略,native,assigned,以及uuid.hex,我们在实体类映射文件student.hbm.xml中对这3种id主键策略进行讲解。assigned第一种:assigned主键策略需要在添加数据时自己设置id,因为它不能自动生成id<?xml version="1.0"?><!DOCTYPE h

2022-05-27 14:09:11 571

原创 Dubbo(三)——dubbo直连案例

dubbo直连案例一、创建工程修改web配置文件版本号配置服务提供者监听器添加消费者依赖配置服务消费者核心配置文件配置springmvc配置文件配置中央调试器测试直连案例存在问题一、创建工程创建maven Module创建java resoureces 并创建资源目录选中单词然后快捷键 ctrl + shift + Y<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframewo

2022-05-26 23:33:08 1296

原创 Dubbo(二)——dubbo框架

dubbo框架一、Dubbo概述一、Dubbo概述Apache Dubbo(incubating) 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案、服务治理方案.官网地址:http://dubbo.apache.org/zh-cn/Container: spring容器,dubbo和spring容器无缝对接的Provi

2022-05-26 22:56:27 108

原创 Dubbo(一)——初识Dubbo

初识Dubbo一、前言二、初识Dubbo一、前言什么是分布式框架分布式系统是若干独立系统的集合,但是用户使用起来像是在使用一套系统。为什么需要分布式系统规模的逐步扩大和业务的复杂,单台计算机扛不住双十一那样的流量,俗话说:三个臭皮匠抵一个诸葛亮应用架构的发展演变单一架构当网站流量很小的时候,我们将所有的应用(业务)放到一台服务器上,打包运行公司管理系统/超市收银系统优点:开发简单,部署简单缺点:扩展不容易(怎么处理日益增长的流量),谁都改一个,维护不容易,性能提升难垂直应用架构

2022-05-25 13:29:32 109

转载 warning: ignoring option PermSize=512m; support was removed in 8.0解决

warning: ignoring option PermSize=512m; support was removed in 8.0解决问题出现场景使用jdk1.8的时候设置了vm参数:-Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=768m -Xss2m此时运行java程序时VM提示如下警告:Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=512m; support wa

2022-05-16 10:56:16 2849

空空如也

空空如也

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

TA关注的人

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