
Java
文章平均质量分 68
java
ShyTan
安安分分干活,认认真真做事,求稳,挣多少钱是多呀,还是想想怎么抽空出去游玩吧
展开
-
Springboot微服务间使用dubbo进行rpc调用的代码详细讲解
下,十分的不优雅,故我们可以新建一个common项目,在这个项目中定义双方服务调用的接口,相当于定义了一种规范,两边都采用common中的服务接口,这样就不会因为包路径不同导致dubbo找不到对应服务。双方都使用common包内的服务接口,删除Provider和Consumer中的PrintService接口(不要删除实现类)如果接口有多个实现类,可在注解中标注version和group,来区分使用不同的实现类,但应尽量避免该问题产生。我们在Provider项目中provider包下新建服务接口与实现类。转载 2024-05-29 16:21:15 · 327 阅读 · 0 评论 -
ElasticSearch 7配置密码认证
我们直接安装的ES默认是没有账号与密码的,输入ES服务器的ip:端口,直接就能返回结果,非常不安全,因此选择设置密码。转载 2023-12-15 19:03:05 · 922 阅读 · 0 评论 -
Java工具类--http请求-post
支持各类型报文与参数说明。原创 2023-09-07 15:39:38 · 1268 阅读 · 0 评论 -
Java工具类系列--通用打印
粘到工具类,打印在控制台需将log.info换为system.out.println。原创 2023-08-06 12:32:23 · 1367 阅读 · 0 评论 -
Java工具类系列--判断空
【代码】Java工具类系列--判断空。原创 2023-09-06 15:50:30 · 390 阅读 · 0 评论 -
判断请求报文是否为json
常用于确认请求报文是json还是xml。存在ltts、8583等其他报文场景时,无法用该方法判断。利用json转化,确认字符串是否为json格式,是则返回ture,不是则返回false。原创 2023-08-15 16:21:32 · 281 阅读 · 0 评论 -
linux安装zookeeper
在linux部署多集群zookeeper原创 2022-06-24 14:37:27 · 264 阅读 · 0 评论 -
一篇文章教你学会并使用Elasticsearch-转自狂神
elasticsearch简单使用总结1、ELK的安装的准备1.1 ELK的下载地址ElasticSearch:https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=D logstash:https://mirrors.huaweicloud.com/logstash/?C=N&O=D 可视化界面elasticsearch-head:https://github.com/mobz/elasticsearch-head ki转载 2021-12-07 16:02:26 · 254 阅读 · 0 评论 -
JDK7和JDK8差异与堆和方法区探索
1. 方法区从线程的角度来看运行时数据区:创建对象各数据区域的声明:方法区理解元空间、永久代是方法区具体的落地实现。方法区看作是一块独立于Java堆的内存空间,它主要是用来存储所加载的类信息的????【oracle官方文档】The Structure of the Java Virtual Machine《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但些简单的实现可能不会选择去进行垃圾收集或者进行压缩”。对HotSpot而言,方法区还转载 2021-09-26 16:13:08 · 1171 阅读 · 2 评论 -
一篇文章教你学会并使用Redis-转自狂神
一、Nosql概述为什么使用Nosql1、单机Mysql时代90年代,一个网站的访问量一般不会太大,单个数据库完全够用。随着用户增多,网站出现以下问题数据量增加到一定程度,单机数据库就放不下了 数据的索引(B+ Tree),一个机器内存也存放不下 访问量变大后(读写混合),一台服务器承受不住。2、Memcached(缓存) + Mysql + 垂直拆分(读写分离)网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望减轻数据库的压力,我们可以使.转载 2021-09-13 20:28:02 · 354 阅读 · 0 评论 -
Java线程池的使用方法
前言多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担。线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory。即便没有这样的情况,大量的线程回收也会给GC带来很大的压力。为了避免重复的创建线程,线程池的出现可以让线程进行复用。通俗点讲,当有工作来,就会向线程池拿一个线程,当工作完成后,并不是直接关闭线程,而是将这个线程归还给线程池供其他任务使用。接下来从总体到细致的方式,来共同探讨线程池。总体的架构转载 2021-08-26 21:51:30 · 4304 阅读 · 0 评论 -
For循环调优
我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for循环的常见优化方式。首先,我们初始化一个集合 list,如下:List<String>list=newArrayList<String>();方法一:最常规的不加思考的写法for(inti=0;i<list.size();i++){System.out.println(l...转载 2021-08-24 19:51:02 · 274 阅读 · 0 评论 -
线程池中各个参数的含义
线程池中各个参数的含义。 这是一个非常常见但是却会卡死一大堆人的一道面试题,能够细致的了解线程池的各个参数的含义对我们学习线程池和使用线程池有着巨大的好处的。 首先我们来看一下线程池主要的参数:参数名 参数含义 corePoolSize 核心线程数 maxinumPoolSize 最大线程数 keepAliveTime 空闲线程存活时间 unit 存活时间的单位 workQueue 存放线程任务队列 threadFactory 线程工厂,转载 2021-07-27 16:18:26 · 907 阅读 · 0 评论 -
一篇文章教你学会并使用SprintCloud-转自狂神
1.学习前言1.1 学习前提 熟练使用SpringBoot 微服务快速开发框架 了解过Dubbo + Zookeeper 分布式基础 电脑配置内存不低于8G(我自己的是16G 1.2 文章大纲Spring Cloud 五大组件服务注册与发现——Netflix Eureka 负载均衡: 客户端负载均衡——Netflix Ribbon 服务端负载均衡:——Feign(其也是依赖于Ribbon,只是将调用方式RestTemplete 更改成Service 接口)转载 2021-05-06 15:35:37 · 499 阅读 · 0 评论 -
JAVA设计模式之工厂方法模式
定义定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型创建类模式类图工厂方法模式代码interface IProduct { public void productMethod();}class Product implements IProduct { public void productMethod() { System.out.println("产品"); }}inte...转载 2021-04-20 15:39:13 · 216 阅读 · 0 评论 -
JAVA设计模式之抽象工厂模式
介绍第三种工厂模式-抽象工厂模式,还是以汽车的制造为例。例子背景随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件。于是这个工厂开始生产空调和发动机,用来组装汽车。这时候工厂有两个系列的产品:空调和发动机。 宝马320系列配置A型号空调和A型号发动机,宝马230系列配置B型号空调和B型号发动机。概念 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。比如宝马320系列使用空调型号A和发动机型号A,而宝马230系列使用空调型号B和发动机型号B,那么使用..转载 2021-04-20 15:31:03 · 905 阅读 · 0 评论 -
JAVA设计模式之单例模式
本文继续介绍23种设计模式系列之单例模式。概念:java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具转载 2021-04-20 15:20:09 · 178 阅读 · 0 评论 -
Java面试题(JVM)
Stream流特点ForkJoin分支合并框架class MyTask extends RecursiveTask<Integer>{ private static final Integer ADJUST_VALUE = 10; private int begin; private int end; private int result; public MyTask(int begin, int end) {转载 2021-04-19 13:39:16 · 302 阅读 · 0 评论 -
Java面试题(JUC)
JUCjava.util.concurrent的缩写线程的6种状态创建,可运行,阻塞,等待,计时等待,终结Lambda表达式java1.8之后允许接口中有部分方法的实现,需要用default关键字描述方法@FunctionalInterface 注解表示函数式接口(仅有一个抽象方法)常见异常总结ConcurrentModificationException:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常StackOverflowError:多线程案例转载 2021-04-19 13:34:15 · 1116 阅读 · 0 评论 -
MyBatis面试题
1、什么是 Mybatis?Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。3、通过 xml 文件或注解的方式将要执行的各种 st转载 2021-04-19 13:07:18 · 375 阅读 · 0 评论 -
Java常见面试题记录(自用for快速复习)
基础JVMJVM的体系结构 类加载器 双亲委派机制 方法区(共享区间) 堆Heap (每个JVM中唯一) 栈(桶型 先进后出) 队列(管型 先进先出) GC常用算法(标记清除法、标记压缩、复制算法、引用计数器法)详解:https://blog.youkuaiyun.com/ShyTan/article/details/110235781?spm=1001.2014.3001.5502Java运行时的数据区(方法区与堆是线程共享的)方法区(Method Area) :存储已被虚拟机加载的类原创 2021-04-19 11:40:10 · 1137 阅读 · 0 评论 -
Microservices(微服务)--Martin Fowler
原文链接:http://martinfowler.com/articles/microservices.html下面是机翻的,有能力的还是看原文,看不懂的再机翻微服务一个新的架构术语“微服务架构”一词是在过去几年里涌现出来的,它用于描述一种独立部署的软件应用设计方式。这种架构方式并没有非常明确的定义,但有一些共同的特点就是围绕在业务能力、自动化布署、端到端的整合以及语言和数据的分散控制上面。“微服务”- 这是在软件架构领域这个非常拥挤的街道上,冒出的一个新名词而已。虽然我们对这个新出的名原创 2021-04-14 09:36:38 · 190 阅读 · 0 评论 -
mysql及oracle的jdbc驱动使用
代码中包含mysql及oracle数据源和驱动需先加载jar包<!--oracle的驱动--><!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 --><dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version&原创 2021-04-07 09:28:15 · 350 阅读 · 0 评论 -
java数据结构知识点
数据结构 由 逻辑结构+存储结构 组成逻辑结构:数据元素间抽象化的相互关系,即抽象结构 存储结构:在计算机存储器中的存储形式,即物理结构逻辑结构的分类:按逻辑结构分为:(线性结构、非线性结构) 逻辑结构的四种基本形态: 数据元素间没任何关系——集合 数据元素间有线性关系——线性结构(所谓线性关系:除第一个元素外,其他元素有且只有一个前驱;除最后一个元素外,其他元素有且只有一个后继!) 数据元素间有层次关系——树结构 数据元素间有网状关系——图结构 常用的线性结构:线性...原创 2021-02-04 10:27:16 · 389 阅读 · 2 评论 -
一篇文章教你学会并使用Git-转自狂神
狂神原文链接:https://blog.youkuaiyun.com/qq_33369905/article/details/106647320,建议收藏原文,本文仅为自用副本什么是版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发 追踪和记载一个或者多个文件的历史记录 组织和保护你的源代码和文档 统计工作量 并行转载 2021-03-25 15:15:41 · 427 阅读 · 0 评论 -
response.setHeader()的详细用法
转载后,以下内容经本人重新排版1. HTTP消息头(1)通用信息头即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma主要: Cache-Control , Connection , Data , Pragma , Trailer , Transfer-Encoding , Upgrade(2)请求头用于在请求消息中向服务器传递附加信息,主要包括客户机可以接受的数据类型,压缩方法,语言,以及客户计算机上保留的信息和发出该请求的超链接源转载 2021-03-09 11:11:31 · 8499 阅读 · 0 评论 -
《疯狂Java讲义》(第5版) 作者李刚(待重新排版)
第1章 Java语言概述与开发环境1.1 Java语言的发展简史JDK1.0 :Sun在1996年年初发布了JDK 1.0,该版本包括两部分:运行环境(即JRE)和开发环境(即JDK)。运行环境包括核心API、集成API、用户界面API、发布技术、Java虚拟机(JVM)5个部分;开发环境包括编译Java程序的编译器(即javac命令)。JDK1.1 :Sun在1997年2月18日发布了JDK 1.1,该版本增加了JIT(即时编译)编译器。JDK 1.2 :1998年12月Sun发布转载 2021-03-03 09:53:53 · 716 阅读 · 0 评论 -
Java IO流概念-取自《疯狂java讲义》
1.Java Io流的概念,分类,类图。1.1 Java Io流的概念 java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。在java中把不同的输入/输出源(键盘,文件,网络连接等)抽象表述为“流”(stream)。通过流的形式允许java程序使用相同的方式来访问不同的输入/输出源。stram是从起源(source)到接收的(sink)的有序数据。注:java把所有的传统的流类型都放到在java io包下,用于实现输入和输出功能。1.2 Io流的分类:按照转载 2021-03-03 09:57:10 · 138 阅读 · 0 评论 -
IDEA创建web项目启动Tomcat时报错:HTTP状态500
错误如同等,要么报找不到servlet的jar包,要么报找不到class,解决办法在下面导致原因错误的tomcat版本,tomcat10使用的不是javax.servlet,而是jakarta.servlet,所以要使用tomcat9版本 错误的引用servlet,https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api,用最新的maven就行 错误的jdk版本,别用jdk12、jdk15啥的,看着高大上,但往往就是原创 2021-02-25 10:12:10 · 6252 阅读 · 4 评论 -
idea中启动了tomcat却无法访问localhost:8080
Tomcat中startup了就可以访问 localhost:8080,但是在idea里开启Tomcat却访问不了?Tomcat 可以访问 localhost:8080,是因为 Tomcat 自带的 ROOT 项目自动发布。 而在idea中启动 Tomcat 是不会自动发布 ROOT 的,所以需要我们手动发布 点击「Run」——「Edit Configurations…」,把tomcat配完还得把页面发布。具体路径就是你的项目目录和Tomcat目录里webapp下的ROOT和其他目录,ROOT的应用原创 2021-02-24 16:05:43 · 3341 阅读 · 0 评论 -
Maven资源导出问题
Maven项目的标准目录结构src main java 源文件 resources 资源文件 filters 资源过滤文件 config 配置文件 scripts 脚本文件 webapp web应用文件 test java 测试源文件 resources 测试资源文件 filters 测试资源过滤文件 it 集成测试 assembly assembly ...原创 2021-02-24 14:30:39 · 379 阅读 · 0 评论 -
一篇文章教你学会并使用JavaWeb-转自狂神
1、基本概念1.1、前言web开发: web,网页的意思,www.baidu.com· 静态web html,sss 提供给所有人看的数据始终不会发生变化! 动态web 淘宝,几乎是所有的网站; 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同! 技术栈:Servlet/ISP,ASP,PHP 1.2、web应用程序web应用程序:可以提供浏览器访问的程序;a.html、b.html.….多个web资源,这转载 2021-02-22 10:00:55 · 744 阅读 · 0 评论 -
java相关的超全思维导图
迷茫了?看看这个图,哪里不会查哪里,让你走向人生巅峰转自:https://www.cnblogs.com/linanana/p/13659169.html转载 2021-02-07 11:44:24 · 130 阅读 · 0 评论 -
一篇文章教你学会并使用SprintBoot-转自狂神
一、运行原理初探 注解: <span style="color:#000000"><code class="language-java"><span style="color:#5c6370">//获取所有配置</span><span style="color:#c678dd">protected</span> List<span style="color:#61aeee"><span style=原创 2021-01-27 11:14:48 · 1511 阅读 · 0 评论 -
java实现TCP的发送和接收数据
Tcp协议是面向连接的,可靠的的协议,Tcp是通过三次握手建立连接,Tcp的发送和接收都是端对端的发送和接收。一、发送端的编程思路 1、创建一个发送端的socket; 2、获取到输出流; 3、将需要写入的数据写在控制台。二、接收端的编程思路 1、创建一个接收端的ServerSocket; 2、侦听并接受到此套接字的连接,返回一个Socket对象; 3、获取到输入流; 4、将获取到的数据打印在控制台上。三、代码如下package net;..原创 2021-01-14 15:51:55 · 4379 阅读 · 0 评论 -
BeanProperty使用说明
转载 2020-12-29 11:37:59 · 1036 阅读 · 0 评论 -
IDEA maven配置阿里库(download速度超级快)
1、创建settings.xml文件<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/setting原创 2020-12-29 09:33:39 · 289 阅读 · 0 评论 -
idea快捷键
Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/…/ )Ctrl+D 复制行Ctrl+X 删除行快速修复 alt+enter (modify/cast)代码提示 alt+/ctr+G 定位某一行Shift+F6 重构-重命名Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+E 最近打开的文件Ctrl+J 自动代码(联想)组织导入 ctr+alt+O格式化代码 ctr+alt+L大小写转化 ctr+shift+U**Intelli转载 2020-12-26 16:36:37 · 156 阅读 · 0 评论 -
一篇文章教你学会并使用Mybatis-转自狂神
Mybatis-9.28环境:JDK1.8 Mysql 5.7 maven 3.6.1 IDEA回顾:JDBC Mysql Java基础 Maven JunitSSM框架:配置文件的。 最好的方式:看官网文档;1、简介1.1、什么是MybatisMyBatis 是一款优秀的持久层框架 它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单的 XML 或注解来转载 2020-12-25 14:22:35 · 470 阅读 · 0 评论 -
SSM及SpringBoot系列文章完更-转自狂神(不知道学啥?从头到尾把这个搞一遍就妥了)
SSM系列文章完更视频同步文档:SSM框架是大家最低工作要求了吧,至少要熟练掌握完毕,才能在工作项目中好好的使用,学完SSM,SpringBoot也是必不可少的,那小狂神今天就把前面更新的给大家按照顺序罗列下,汇总:【MyBatis】每一篇文章都是用心整理的,和视频一一对应,记得给小狂神点赞哦 ^_^狂神说MyBatis01:第一个程序狂神说MyBatis02:CRUD操作及配置解析狂神说MyBatis03:ResultMap及分页狂神说MyBatis04:使用注解开转载 2020-12-25 11:43:36 · 740 阅读 · 0 评论