- 博客(54)
- 收藏
- 关注
原创 字符串String的长度限制
1. java的字符串String,底层是char[],其长度限制是int类型,2^32-1, 即2147483647, 所以字符串的最大内存应该是4GB;2. 字符串如果直接放入常量池中,会有限制: 2^16-1-1 = 65534转载String常量池放入的定义方法:https://blog.youkuaiyun.com/chen1280436393/article/details/51768609String放入常量池中,长度有限制,String类型的常量池项是CONSTANT_String,其中..
2021-07-06 01:02:46
2480
1
原创 关于String的split方法和contains方法的使用:竖划线 |
java的String类有split方法和contains方法: public String[] split(String regex) { return split(regex, 0); } public boolean contains(CharSequence s) { return indexOf(s.toString()) > -1; }有些代码需要对于特殊的字符串进行处理,比如包含竖线的字符串: "上海|hsangh
2021-07-06 00:20:26
1416
原创 Map merge方法
使用map结构时,针对已存在的元素增加,不存在则新增1. 冗余写法 Map<String, Integer> countMap3 = new HashMap<>(); if (countMap3.containsKey("张飞")) { countMap3.put("张飞", countMap3.get("张飞") + 1); }else{ countMap3.put("张飞",
2021-02-18 16:28:27
839
原创 java代码实现LRU淘汰策略
LRU: Least Recently Used,最近最少使用的淘汰策略;在redis中最常使用作为数据淘汰策略;1. 代码实现package com.test.wei.biz.lru;import java.util.ArrayList;import java.util.HashMap;import java.util.List;/** * 使用双向链表实现LRU过期数据淘汰策略 * * @author zhangshiwei * @since 2020年11月27日 下
2020-11-27 19:15:16
407
原创 判断当前时间是否在9点至21点之间
1. 测试代码 @Test public void checkTimeIsBetween() throws ParseException { String format = "HH:mm:ss"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); String timeString1 = "08:00:00"; Date timeDate1
2020-11-20 09:46:56
2535
原创 SpringCloud6 链路追踪Slueth + Zipkin的使用
1. 下载Zipkin并运行: java -jar zipkin.jar2. 在需要进行链路追踪的服务节点添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId></dependency><dependency> <gr.
2020-11-10 10:01:10
703
原创 MybatisPlus自动生成代码
1. 添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0
2020-11-07 22:52:30
161
原创 Spring Cloud5 路由Gateway的使用
一. 新建项目spring-cloud-gateway-90931. pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h
2020-10-20 11:11:55
751
2
原创 Spring Cloud4 熔断Hystrix的使用
一. 项目spring-cloud-user-service-80811. 添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>
2020-10-15 19:02:24
185
原创 Spring Cloud3 配置中心Config实现原理
1. SpringBoot 项目启动时环境变量的加载逻辑2.Spring Cloud Config客户端从配置中心服务端项目上获取配置信息的原理3.Spring Cloud Config Server配置中心服务端项目从git上获取配置信息的原理4. Spring Cloud Config实现/refresh刷新配置信息的原理学习笔记记录,图片不是很清楚哈. 主要还是要看源码....
2020-10-14 15:06:30
487
1
原创 Spring Cloud3配置中心Config的使用
一. 首先创建maven项目,统一管理多个项目1. pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://m
2020-10-11 14:54:26
438
原创 Spring Bean的动态装载: ImportSelector与ImportBeanDefinitionRegistrar
一.ImportSelector实现bean的动态装载1. 自定义类实现ImportSelector接口,重写selectImports接口,通知spring需要加载的配置类,完成bean的自动装载/** * bean的动态装载之importSelector - 自定义类= */public class ZswImportSelector implements ImportSelector { @Override public String[] selectImpor...
2020-09-29 14:59:16
442
原创 Spring Cloud2注册中心Eureka+OpenFeign的使用(三)注册中心集群部署 - 可用性+分区容错性
CAP: 一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指: 是在一个分布式系统中,CAP三个要素最多只能同时实现两点,不可能三者兼顾;eureka注册中心,实现了AP: 可用性+分区容错性;eureka注册中心集群部署,两两互相注册,集群之间会完成数据同步,一个宕机,不会影响另一个注册中心的使用;一. 注册中心011.依赖配置 pom.xml\<?xml version="1.0" enc
2020-09-28 09:43:40
444
原创 Spring Cloud2注册中心Eureka+OpenFeign的使用(二) FeignClient放在提供方
一. 公共jar包项目: order-api1. pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://ma
2020-09-25 00:27:36
1023
5
原创 Spring Cloud2注册中心Eureka+OpenFeign的使用(一)FeignClient放在调用方
一. 构建eureka注册中心服务端项目spring-cloud-eureka-server1. pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.o
2020-09-22 11:43:37
608
原创 Spring Cloud1负载均衡的实现:RestTemplate+Ribbon或者OpenFeign
一. 服务提供方: spring-cloud-order-api项目1. OrderController@RestController@RequestMapping("/order")public class OrderController { @Value(("${server.port}")) private Integer port; @RequestMapping("/findOrderList") public String findOrderLi
2020-09-22 00:49:18
248
原创 Spring SPI机制实现自动装配 实现自定义Starter组件
一. springboot的自动装配1. @SpringBootApplication ---> @EnableAutoConfinguration ---> @Import(AutoConfigurationImportSelector.class)2.AutoConfigurationImportSelector类实现了DeferredImportSelector接口public class AutoConfigurationImportSelector impleme..
2020-09-21 11:48:11
1040
4
原创 Spring注解的发展和使用
一. spring注解1.X: 在xml文件配置<bean>1. 测试对象Demo1public class Demo1 {}2. xml文件配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan..
2020-09-17 14:16:07
152
原创 RPC远程过程调用(二) 自定义注解实现改造一的简洁开发
RPC远程过程调用(一)中实现的RPC调用orderService的接口方法还是很复杂,需要手动新建rpc代理服务端,然后才能获取到orderService; 现在通过自定义注解,实现注解简洁开发;
2020-09-16 17:33:16
1341
原创 RPC 远程过程调用(一)
目的: 多个项目部署在不同服务器上,一个项目通过rpc调用另一个项目的接口服务一. order-api项目对外暴露接口,放在仓库中,给服务实现方和服务调用方依赖,最终服务调用方只能看见接口而看不见具体的实现1. 服务接口OrderServicepublic interface OrderService { String findOrderList(); String findOrderById();}2. 远程连接传递参数RpcRequestDto@Da...
2020-09-15 14:47:52
667
原创 Condition, BlockingQueue, CountDownLatch, Semaphore, CyclicBarrier
1.Condition接口具体的方法实现在AbstractQueuedSychronizer内部类ConditionObject中,condition等待队列: 单向链表,先进先出(FIFO),至少有一个节点,首节点不含元素,ConditionObject内部有firstWaiter与lastWaiter,单个元素就是AbstractQueuedSychronizer内部类Node,condition等待队列主要是使用nextWaiter属性;await()方法: (1)....
2020-09-02 17:32:51
233
原创 MySQL InnoDB 结构和索引
MySQL数据库,InnoDB5.7学习记录:一. 部分参数的查询-- 非正式交互超时时间 如JDBCshow global variables like 'wait_timeout' ;-- 交互式超时时间show global variables like 'interactive_timeout' ;-- 当前数据库连接状态show global status like 'Thread%';-- 最大连接数show global variables like 'max_conne
2020-08-07 14:30:13
162
原创 java求斐波那契数列的第n个值: 1、1、2、3、5、8、13、21、34
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1,F(n)=F(n - 1)+F(n - 2)(n≥ 3,n∈ N*)1.1 使用递归方法/** * 使用递归方法求第n个斐波那契数列的值 *...
2020-07-31 18:04:31
7014
原创 flutter动画实现手指图片不断点击按钮
实现效果: 小手指的图片会沿着设定的轨迹来回运动,从而实现手指不断点击按钮的动画import 'dart:async';import 'package:animator/animator.dart';import 'package:flutter/material.dart';import 'package:fluttertest0315/constant/app_style.dart';import 'package:fluttertest0315/utils/ScreenAdaper
2020-07-22 15:50:15
455
原创 Flutter手写穿梭框
开发工具: Android Studio ;Flutter版本:flutter_v1.9.1_hotfix.6_stable最终效果:代码:import 'package:flutter/material.dart';import 'package:fluttertest0315/constant/app_style.dart';import 'package:fluttertest0315/utils/ScreenAdaper.dart';/// 穿梭框class Tra.
2020-07-09 10:04:29
357
原创 下载csv文件
导出csv格式文件的本质是导出以逗号为分隔的文本数据 ;这里使用List<LinkedHashMap<String, Object>> 而不使用List<List<String, Object>> ,不用申请获取那么多的连续内存!1. controller:/** * 账单汇总 - 条件导出 * * @param orderCode 检索条件 * @param billDtStart 检索条件 ..
2020-06-18 18:35:39
3016
原创 react+antd 莫名缓存与多个对话框的层级错乱
问题1: 新增和查看修改公用一个modal,点击新增时,已经将state中的一个对象清空,但是新增的页面还是有缓存数据;处理方法: 在modal前加个判断:问题2: 在弹出的modal对话框中,点击预览图片按钮,再次弹出modal对话框预览图片,预览图片的对话框层级错乱,显示在了第一个modal详情信息的下面;处理方法: 在modal前加个判断:具体代码:import React, { Component } from 'react';import { Button, Col
2020-06-15 17:54:16
2412
原创 java导出excel文件2
0. 使用的jar包: <dependency> <groupId>com.github.andyczy</groupId> <artifactId>java-excel-utils</artifactId> <version>4.0</version> </dependency>最终结果: 根据res
2020-05-09 10:17:15
198
原创 java导出excel文件1
1.controller/** * 条件下载账单信息excel * * @param orderCode 检索条件 * @param billDtStart 检索条件 * @param billDtEnd 检索条件 * @param state 检索条件 * @param corganCodes 检索条件 * @...
2020-04-22 09:42:38
180
原创 java下载zip附件
1. 将文件下载到文件夹中,打包zip放入浏览器/* * Copyright 2019 yifen7.com All right reserved. This software is the * confidential and proprietary information of yifen7.com ("Confidential * Information"). ...
2019-10-18 20:21:16
1274
原创 java学习笔记1:类的加载与卸载
1. java类加载使用卸载的生命阶段:加载-验证-准备-解析-初始化-使用-卸载2. 类加载的时机:(1).创建实例时;(2).调用类的静态方法;(3).访问类或接口的静态变量或为静态变量赋值;(4).初始化类的子类;(5).直接用java.exe命令运行某个类;3. 由jvm自带的类加载器所加载的类,在jvm的生命周期内,不会被卸载; hotspot ...
2019-10-08 22:12:56
246
原创 springboot实现自定义注解
1.自定义注解:import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotat...
2019-10-08 21:52:01
348
原创 算法: java十种排序
冒泡排序,选择排序,插入排序,归并排序,快速排序,桶排序,计数排序,基数排序,希尔排序,堆排序,时间复杂度空间复杂度分析对比
2019-07-20 11:53:28
378
原创 springboot整合mybatis-plus
1. 新建spring-boot项目,pom依赖文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca...
2019-07-02 19:25:38
806
2
原创 java-根据url生成二维码
1. 生成无白边的二维码:1.1 需要引入的jar包: <!-- qr_code start --> <dependency> <groupId>net.glxn.qrgen</groupId> <artifactId>javase</artif...
2019-07-02 17:09:07
2688
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人