Java
文章平均质量分 56
枫灵小宇
这个作者很懒,什么都没留下…
展开
-
java获取当前服务器的IP地址
文章目录1.方法1.方法public static void main(String[] args) { String ip=""; InetAddress inetAddress = null; try { Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); whil原创 2021-04-12 20:27:54 · 2030 阅读 · 0 评论 -
JVM GC
文章目录1.什么是垃圾2.如何定位垃圾3.垃圾回收算法3.垃圾回收器1.什么是垃圾没有被任何地方引用的对象或者数据就是垃圾。2.如何定位垃圾引用计数: 当这个对象被引用时,计数一次,当计数为0时,这个对象就是垃圾。无法解决循环引用的问题,会造成内存泄漏可达性分析算法:从根节点(gc root)出发,无法找到一条路径到这个对象,这个对象就是垃圾。 a) 虚拟机栈中引用的对象(栈帧中的本地变量表);b) 方法区中类静态属性引用的对象;c) 方法区中常量引用的对象;d) 本地方法栈中JN原创 2021-03-16 22:07:54 · 225 阅读 · 0 评论 -
java解析json文件
文章目录1.文件传输解析2.本地文件路径解析2.1.依赖2.2.json路径及示例2.2.3.代码实现1.文件传输解析@ResponseBody@PostMapping(value = "importJson")public String importJson(@RequestParam(value = "file") MultipartFile file) throws Exception { byte[] fileBytes = file.getBytes(); String f原创 2021-03-15 20:47:33 · 1501 阅读 · 0 评论 -
java解析html字符串
文章目录1.依赖2.解析1.依赖<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version></dependency>2.解析public static void main(String[] args) { String htm原创 2021-03-01 17:35:18 · 1990 阅读 · 0 评论 -
SAX解析xml文件
文章目录1.xml文件2.解析2.1.实体类2.2.handler2.3.解析工具3.测试3.1.main测试3.2.接口测试1.xml文件<?xml version="1.0" encoding="UTF-8"?><xml> <tNode code="t1" name="动物"> <tNode code="n1" name="狗"></tNode> <tNode code="n2" name="原创 2020-12-18 11:36:30 · 144 阅读 · 0 评论 -
freemarker模板生成pdf文件
文章目录1.pom依赖2.ftl模板以及宋体文件2.1.文件路径2.2.ftl文件模板(test.ftl)3.controller生成pdf文件1.pom依赖<!--freemarker--><dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.27-incu原创 2020-12-14 18:41:49 · 1662 阅读 · 0 评论 -
Webservice——CXF 远程服务发布与调用
文章目录1.pom2.接口发布2.1.接口2.2.接口实现2.3.主启动类注入3.服务调用1.pom<dependency> <groupId>org.apache.cxf</groupId> <artifactId>apache-cxf</artifactId> <version>3.1.6</version></dependency>2.接口发布2.1.接口package原创 2020-12-02 14:38:44 · 128 阅读 · 0 评论 -
JDK8 stream流操作
文章目录关键字1.初始化数据2.迭代:forEach3.条件过滤:filter4.排序:升序、降序、多属性排序:sorted、comparing、thenComparing5.去重:年龄:distinct、自定义6.取集合的前几个元素:limit7.跳过集合的前几个元素:skip8.处理对象中的数据:map9.获取用户名称并用逗号分隔转成字符串:map、joining10.判断所有用户年龄是否都大于14:allMatch11.判断是否存在36岁年龄的用户:anyMatch12.判断是否不存在36岁年龄的用户原创 2020-11-26 15:38:16 · 211 阅读 · 0 评论 -
java中volatile关键字
文章目录1.volatile关键字的作用2.volatile可见性3.指令重排序1.volatile关键字的作用保证线程之间的可见性。禁止指令重排序备注:volatile并非原子性,因此并不能保证线程安全2.volatile可见性线程之间的可见性: 一个线程修改的状态对另一个线程是可见的。用volatile修饰的变量,就会具有可见性。当一个线程修改了这个变量的值,volatile 保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新。测试说明: 在下述程序中,当flag原创 2020-10-15 11:37:26 · 70 阅读 · 0 评论 -
web获取当前HttpServletRequest请求以及请求的ip
这里写目录标题1.获取当前请求对象2.获取当前session3.获取当前请求的ippackage com.qin.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import org.springframework.web.context.request.RequestContextHolder;import org.sprin原创 2020-10-14 15:23:31 · 438 阅读 · 0 评论 -
java自定义注解以及注解说明
文章目录1.自定义注解[email protected][email protected].@Documented5.@Inherited1.自定义注解package com.qin.annotation;import java.lang.annotation.*;@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.ANNOTATION_T原创 2020-10-13 13:37:49 · 109 阅读 · 0 评论 -
Zookeeper学习————Curator的API
文章目录1.连接2.创建节点1.1.同步创建1.2.异步创建3.删除节点1.1.同步删除1.2.异步删除1.连接package com.tt.tt.zookeeper.config;import org.apache.curator.RetryPolicy;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import原创 2020-07-21 22:20:28 · 193 阅读 · 0 评论 -
Zookeeper学习————Watcher机制(监听器注册以及事件监听)
文章目录1.watcher(监听器)1.1.watcher组成1.2.watcher特性1.3.watcher结构1.3.1.KeeperState(通知状态)1.3.2.EventType(事件类型)1.3.3.方法以及可被监控的时事件类型2.watcher注册1.1.创建连接注册1.2.判断节点是否存在1.3.获取节点数据1.4.获取子节点列表1.watcher(监听器) Zookeeper提供了分布式数据的发布/订阅功能,可以让客户端订阅某个节点,当节点发生变化(比如创建、修改、删除、数据获取、子原创 2020-07-10 22:36:08 · 1012 阅读 · 0 评论 -
Zookeeper学习————java API(节点创建、授权、修改、删除、获取节点(子节点)数据、判断节点是否存在)
文章目录1.java API1.1.创建连接1.2.新增节点1.2.1.同步创建1.2.2.异步创建1.2.2.只读权限(acl)1.2.3.world授权模式1.2.4.ip授权模式1.2.5.auth授权模式1.2.6.auth授权模式21.2.7.digest授权模式1.3.修改节点1.3.1.同步修改1.3.2.异步修改1.4.删除节点1.4.1.同步删除1.4.2.异步删除1.5.获取节点数据1.5.1.同步获取1.5.2.异步获取1.6.获取子节点数据1.6.1.同步获取1.6.2.异步获取1.原创 2020-07-08 22:34:36 · 1213 阅读 · 0 评论 -
rocketMq——消息发送与消息消费
总结文章目录总结一.广播模式1.producer2.consumer一.广播模式1.producer/** * @Author: wangzb * @Date: 2020/06/30 * @Desciption: 发送消息 * @Params: */public class RocketMqTest { public static void main(String[] args) { //1.消息提供者 传入参数:生产者组名 Defa原创 2020-06-30 21:49:27 · 343 阅读 · 0 评论 -
java内存溢出(OutOfMemoryError)————dump文件以及内存分析
java内存溢出(OutOfMemoryError)————dump文件以及内存分析文章目录java内存溢出(OutOfMemoryError)————dump文件以及内存分析1.dump内存快照1.1.测试环境(程序启动)1.2.生产环境(程序运行时)2.分析快照文件3.测试3.1.程序(运行时)3.2.jmap生成内存快照文件3.3.MAT分析3.3.1.下载3.3.2.使用当程序出现以下错误时:java.lang.OutOfMemoryError: Java heap spacejava.l原创 2020-06-21 21:16:46 · 3941 阅读 · 0 评论 -
springboot整合curator实现分布式锁模拟抢购场景
文章目录1.环境说明2.maven依赖3.代码实现3.1.Redis3.1.1.配置文件3.1.2.redisTemplate配置3.2.Curator3.1.1.配置文件3.1.2.Curator配置3.2.测试1.环境说明序号名称版本说明1springboot2.2.1.RELEASE2curator2.8.0zookeeper的封装框架3redis5.0.9下载路径: https://github.com/tporadowski/redis/r原创 2020-06-20 23:20:53 · 477 阅读 · 0 评论 -
线程池——ThreadPoolExecutor
线程池——ThreadPoolExecutor文章目录线程池——ThreadPoolExecutor1.构造方法1.1.参数说明1.2.workQueue(线程等待队列)1.3.handler(拒绝策略)2.线程提交2.1.excute()2.2.submit()1.构造方法//ThreadPoolExecutor共有四个构造函数,取参数最多的为示例ThreadPoolExecutor pool=new ThreadPoolExecutor( 2原创 2020-06-10 23:27:58 · 142 阅读 · 0 评论 -
java设计模式(一)———单例模式
java设计模式(一)———单例模式文章目录java设计模式(一)———单例模式优缺点1.懒汉式单例模式(线程不安全,不推荐使用)2.饿汉式单例模式(安全)3.同步锁单例模式(安全)4.双重校验锁机制单例模式(安全)5.无锁静态内部类单例模式(安全)6.枚举单例模式(安全)优缺点类型优点缺点适用场景懒汉式实例只有需要使用的时候才会去创建,可以提高应用的启动速度。线程不安全,如果多个线程去调用获取实例的方法,可能会生成多个实例。实例对象功能复杂,占用内存较大,对应用的启动速原创 2020-05-26 21:00:09 · 99 阅读 · 0 评论 -
MyBatis+PostgreSQL处理pg中json及_varchar字段类型数据(插入及查询)
MyBatis+PostgreSQL postgrel中存在json和数组类型的字段,而mybatis原生并不支持这种类型(即jdbcType不存在JSON或者数组类型),如果想要将json或者数组格式的数据插入到pg数据库,那么mybatis提供了BaseTypeHandler已供开发者自己扩展,开发者需要根据自己的业务实现(implements)或者继承(extends)BaseTypeHandler。 下面将展示把List<String> 和 JSONObject类型(java)的数据原创 2020-05-25 15:04:33 · 4537 阅读 · 0 评论 -
Elasticsearch学习(十一)————Java更新文档( partial Update、Upsert API)
partial Update、Upsert API————(更新文档)1. partial Update (更新文档)1.1. 更新文档——jsonString /** * @param : client * @description : 修改文档————jsonString */ private static ...原创 2019-07-14 14:35:08 · 2340 阅读 · 0 评论 -
Elasticsearch学习(十三)————Java聚合查询文档(Aggregations Query API)
Aggregations Query API1.package com.qin.common.util.elasticsearch.query;import org.apache.http.HttpHost;import org.elasticsearch.action.search.SearchRequest;import org.elasticsearch.action.searc...原创 2019-07-30 21:45:12 · 565 阅读 · 0 评论 -
spring-cloud学习(二)———feign负载均衡
Feign1.概念 官网:https://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign Feign是一个声明性的Web服务客户端。它使编写Web服务客户端变得更容易。要使用Feign,请创建一个界面并对其进行注释。它具有可插入的注释支持,包括Feign注释和JAX-RS注释。F...原创 2019-04-15 21:36:34 · 78 阅读 · 0 评论 -
Java虚拟机JVM参数以及JDK属性
JVM1.jvm内存参数参数说明-Xms3550m设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存-Xmx3550m设置JVM最大堆内存为3550M。-Xss128k设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程...转载 2019-04-25 21:29:20 · 206 阅读 · 0 评论 -
spring-cloud学习(一)———eureka集群服务注册于与发现
Eureka1.服务端-集群1.集群主机1server: port: 7001eureka: instance: hostname: eureka7001.com #eureka服务端的实例名称 host文件映射本机 client: register-with-eureka: false #false表示不向注册中心注册自己。 fetch-...原创 2019-04-14 13:44:22 · 105 阅读 · 0 评论 -
spring-cloud学习(三)———ribbon负载均衡
Ribbon1.概念 官网:https://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-ribbon Ribbon是一个客户端负载均衡器,可以让您对HTTP和TCP客户端的行为进行大量控制。Feign已使用Ribbon,因此如果您正在使用,@FeignClient则此部分也适用。 ...原创 2019-04-22 21:29:44 · 130 阅读 · 0 评论 -
spring-cloud学习(五)———zuul路由网关
Zuul1.概念 官网:https://github.com/Netflix/zuul/wiki Zuul是从设备和网站到Netflix流应用程序后端的所有请求的前门。作为边缘服务应用程序,Zuul旨在实现动态路由,监控,弹性和安全性。它还能够根据需要将请求路由到多个Amazon Auto Scaling组。身份验证和安全性 - 确定每个资源的身份验证要求并拒绝...原创 2019-05-09 22:28:32 · 77 阅读 · 0 评论 -
spring-cloud学习(四)———hystrix以及hytrisDashboard监控仪表盘
Hystrix1.概念 官网:https://github.com/Netflix/Hystrix/wiki 什么是Hystrix? 在分布式环境中,许多服务依赖项中的一些不可避免地会失败。Hystrix是一个库,可通过添加延迟容错和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点,阻止它们之间的级联故障以及提供后备选项来实现...原创 2019-05-07 22:49:01 · 510 阅读 · 0 评论 -
spring-cloud学习(六)———config分布式配置中心
Config1.概念 官网:https://cloud.spring.io/spring-cloud-config/spring-cloud-config.html https://springcloud.cc/spring-cloud-dalston.html#_spring_cloud_config 中文文档 Spring Cloud Config为分布式系...原创 2019-05-15 20:27:49 · 132 阅读 · 0 评论 -
时间工具类
时间工具类1.Calendar示例:2019-05-15 21:40:30 Calendar calendar=Calendar.getInstance(); //calendar.setTime(new Date()); 可以设置日期序号属性返回值说明1Calendar.YEARcalendar.get(Calendar.YEAR)2019年份2Calendar.MON...原创 2019-05-16 21:49:40 · 156 阅读 · 0 评论 -
Http调用接口工具类————HttpClientUtil
一. Http调用接口工具类1.pom 依赖<dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version><...原创 2019-06-14 09:37:09 · 2185 阅读 · 0 评论 -
Elasticsearch学习(八)————Java连接elasticsearch
一.Java连接elasticsearch1.引入pom依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>6.2.4</versio...原创 2019-07-03 22:26:33 · 440 阅读 · 0 评论 -
Elasticsearch学习(九)————Java四种添加文档方式(Index API)
Index API————(添加文档)官网地址:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.4/java-rest-high-document-index.html1.pom文件添加依赖(注意:依赖版本和安装的es主版本相同) <!--es的rest风格的高级客户端 --> <...原创 2019-07-10 21:46:05 · 3427 阅读 · 1 评论 -
Elasticsearch学习(十)————Java获取、删除文档以及判断文档是否存在( Get、Delete API)
Get、Delete API————(获取、删除文档)1.判断文档是否存在 /** * @param : client * @description : 判断文档是否存在 */ private static boolean isExist(RestHighLevelClient client) throws IOEx...原创 2019-07-11 22:28:03 · 1133 阅读 · 0 评论 -
Elasticsearch学习(十二)————Java查询文档(Query API)
Query API————(查询文档)1.query ——— matchAll(查询所有) /** * @param : client * @description : 查询文档————matchAll */ private static void searchDocumentByMatchAll(RestHigh...原创 2019-07-24 21:50:04 · 748 阅读 · 0 评论 -
redis分布式锁的实现
redis分布式锁的实现1.依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2.代码...原创 2019-07-29 22:16:06 · 164 阅读 · 0 评论 -
JVM内存模型(书籍——《深入理解Java虚拟机》)
JVM内存模型(书籍——《深入理解Java虚拟机》)1.jvm运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,已经创建和销毁时间,有的区域随着虚拟机进程的启动而创建,有些区域则依赖用户线程的启动和结束而创建和销毁。根据《Java虚拟机规范(Java SE 7)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时...原创 2019-04-12 09:41:48 · 980 阅读 · 0 评论