Java持续实践

持续学习 持续实践 持续输出

  • 博客(721)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 could not find artifact avalon-framework:avalon-framework-api:pom:4.1.5-dev 解决办法

然后进入本地仓库的avalon-framework-api文件夹,修改maven-metadata-central.xml文件, 把里面的version只保留4.1.5。进入本地maven仓库, 修改proxool-0.9.1.pom文件, 把avalon-framework-api的版本, 直接指定为4.1.5。[4.1.5,) 这种写法就是坑爹的地方了. 导致会去加载4.1.5-dev版本, 而中央仓库没有4.1.5-dev版本.直接点击proxool 即可跳转到pom.xml中的依赖。

2024-04-18 11:39:17 106

原创 maven手动上传的第三方包 打包项目报错 Could not find xxx in central 解决办法

在Maven私服手动上传了第三方的jar包, 只有jar包, 没有pom文件, 项目在ide中可以正常编译启动,但打包报错无法找到jar包。解决办法: 上传jar包的时候, 点击生成pom. 则打包的时候不会报错。

2024-03-19 16:14:00 201

原创 Java判断是否有特殊字符串

【代码】Java判断是否有特殊字符串。

2023-11-03 18:10:04 633

原创 OkHttpClient 发送请求示例

【代码】OkHttpClient 发送请求示例。

2023-06-08 20:28:57 283

原创 接口优化的18种方法

接口优化的18种方法。

2023-04-07 16:17:35 294 1

原创 git 从tag中拉取新的分支

拉取最新代码git pull切到指定的 taggit checkout <tag-name>新建分支git switch -c <new-branch-name>

2023-03-31 14:06:04 222

原创 mac homebrew fatal: not in a git directory

问题: 在用homebrew安装软件时, 提示报错。设置完毕后, 即可解决报错,成功安装。按照上面的提示, 在终端上执行命令。

2023-02-19 20:07:56 911 1

原创 mysql order by 多字段分组取最大值

【代码】mysql order by 多字段分组取最大值。

2023-02-10 18:53:15 399

原创 excel 拼接单引号

【代码】excel 拼接单引号。

2023-01-29 16:16:50 1017

原创 excel 中使用vlookup函数

将函数所在单元格的格式改为常规或数值格式,并点击F2或者点击一下编辑栏,再点击Enter即可。选中顶行单元格,滚动条滚动到底部,按着Shift键选中底部单元格,Ctrl+D即可填充。使用函数后不显示只显示公式处理办法。vlookup函数使用方法。

2023-01-12 14:19:06 302

原创 excel 生成sql

【代码】excel 生成sql。

2023-01-12 14:09:29 288

原创 MySQL 修改默认值

【代码】MySQL 修改默认值。

2022-12-01 10:28:15 525

原创 线性表01- 数组与简易接口设计

线性表: 具有n个相同类型元素的有限序列 n>=0线性表的元素特点是有索引, 可以通过索引快速查找到元素.a1是a2的前驱, a2是a1的后继常见的线性表数组链表栈队列哈希表 (散列表)

2022-11-29 22:08:00 569

原创 TypeReference 用于复杂对象反序列化

TypeReference 中写上要反序列化的泛型。

2022-11-28 10:33:59 551

原创 删除数据库中重复数据

delete from form where id not in (select min(id) from form group by parent_id, tenant_id);

2022-11-18 14:48:00 464

原创 java正则表达式校验是否特殊字符以及空格

【代码】java正则表达式校验是否特殊字符以及空格。

2022-10-11 14:22:32 3864

原创 数据结构与算法01-算法的评估(大O表示法) 算法的优化方向

大O 表示法, 仅仅是一种粗略的分析模型, 是一种估算, 能帮助我们短时间内了解一个算法的时间复杂度.对于对数: log2n , log9n 统称为logn。数据规模n对应的复杂度。不同算法的时间复杂度。

2022-09-10 19:59:25 455

原创 Spring Bean的生命周期

总的步骤 : 实例化 属性注入 初始化 销毁 .

2022-08-21 09:56:24 431

原创 分布式事务--事务消息

流量包和扣减库存, 保存一个 task 任务, 记录扣减的流量包 (扣减流量包和保存task 在同一个事务中)

2022-08-20 14:56:34 413

原创 2022java面试题

MESI 如何执行的 ,含义是什么?面试官问的是ConcurrentHashMap 数据结构, 结果扯到hashmap的数据结构.线程池如何实现只有线程池里面的任务执行完之后, 才去给线程池添加任务。基于AQS实现的同步队列, 会有打断的异常, 如何实现?Eureka使用的时候有哪些问题 , 怎么解决的。volatile的禁止指令重排序是如何实现的?Synchronized 如何实现可见性的?线程池的核心线程数, 最大线程数如何设置?读写屏障, 全屏障这些是怎么实现的?...

2022-08-18 11:39:54 709

原创 bytebuffer put flip compact clear 方法演示

compact方法用于未读取完数据时,写入数据,例如上一步,里面有四个数据,只读取了一个数据61,调用compact方法进入写模式,可以保证,未读取完的数据,不会丢失.控制台打印如下,只截取了最后两次的打印,可以看到是从position3的位置开始写入,保留了之前没有读取的数据(62,63,64)控制台打印如下,可以看到position从0开始了,把65,66写入到了0和1的位置,把原有的61,62覆盖了.如果改成clear写入。...

2022-07-31 16:52:48 438 1

原创 bytebuffer 内部结构

compact方法由于某种原因,没有读取完数据就要写数据,如下原本数据中有abcd四个字节的数据,读到ab了,就要写数据了,调用compact方法,则是从d后开始开始写数据,而不是从0的位置写数据,这样防止了数据的丢失.调用flip()方法后,开启读模式,postion重新从0开始读,limit从capacity的位置,移动到上一步读取数据的位置,因为写入只写入到d的位置,无需读取到capacity的位置.ByteBuffer重要的属性。...

2022-07-31 15:53:42 407

原创 bytebuffer 使用demo

通过控制台看到,第一次读取到了缓存的10个字节,1到0.挨个把1到0打印了出来.创建一个txt文件,放在项目最外层,内容如下,有13个字节.第二次读取了3个字节,a到c,挨个打印了出来.

2022-07-31 14:43:18 373

原创 G1垃圾回收器

https://cloud.tencent.com/developer/article/1459638

2022-07-18 07:50:09 241

原创 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

https://www.cnblogs.com/dolphin0520/p/3920397.html

2022-07-17 18:49:34 475

原创 eureka server剖析

主要看com.netflix.eureka.EurekaBootStrap#contextInitialized 方法的执行初始化环境com.netflix.eureka.EurekaBootStrap#initEurekaEnvironment通过单例获取配置对象com.netflix.config.ConfigurationManager#getConfigInstance()通过double check + volatile把配置作为单例, 是单例模式的一个经典用法.initEureka

2022-07-07 18:47:29 313

原创 互联网公司Java开发面试题: 谈谈可重入锁ReentrantLock?

ReentrantLock 根据其jdk给的注释定义如下:即代表ReentrantLock是可重入的互斥锁.根据jdk给的ReentrantLock示例代码如下即官方建议释放锁的操作放在finally 代码块中, 这样可以在一定程度上避免死锁.在创建ReentrantLock 时, 默认的无参构造是创建一个非公平锁, 可以传递一个布尔值, 来设定是否为公平锁.除了上面给出的lock方法外, 也可以使用 , 传递一个等待加锁的时间, 返回一个布尔值.加锁成功 则返回true, 失败返回false

2022-06-05 15:05:11 811 1

转载 Redis高并发高可用

https://xie.infoq.cn/article/51b6930655799b44fa9d2fc5f

2022-05-16 07:09:31 188

原创 某电商面试题 20220513

内存溢出与内存泄露的区别观察者模式与发布订阅模式的区别Seata 有哪些模式 ? AT 模式的流程 . AT 与TCC模式的区别如何分析java oom异常jvm 如何进行优化MySQL有哪些隔离级别, 脏读和幻读的区别.MySQL有哪些日志, 这些日志的特点 , 优缺点是什么分库分表是如何规划的, 原有的库的数据是怎么迁移的, 分库分表后怎么扩容.分库分表如何解决唯一id问题知道哪些分布式id生成的方法, 雪花算法生成id会有什么问题, 怎么解决eureka 的执行流程.

2022-05-13 19:32:21 347

原创 分库分表 路由策略与全局ID

分库分表支持的场景用户的角度 : 查询订单信息商家角度: 获取商家订单的角度.用户下单后, 可能查询多个表.根据一定的规则, 让同一个用户, 下单都落在同一个表中.路由key:根据用户id , 作为路由的key , 对表的数量进行取模.多库多表先找库, 再找表.先根据用户的id , 对数据库的数量进行取模, 再去找对应的表.在找对应表的时候, 除以表的数量, 再对表的数量进行取模, 防止根据库进行路由后, 只插入到某一个表中去.商户的路由策略:买家下完单之后, 发送订

2022-05-03 15:06:46 699

原创 分库分表之 垂直拆分与水平拆分

垂直拆分垂直拆分 : 把一个数据库, 拆分为多个数据库. 按不同的模块拆分.原来是一个模块 , 公用一个数据库的资源, 垂直拆分后, 各个模块的项目竞争的资源, 不存在了 .优点:减轻了原有单库的压力, 提高了每个数据库的分摊数据, 给每个库的 CPU 内存, 网络压力变小了业务更加清晰解耦系统扩展更加容易了缺点:系统复杂性增加了多个数据库的联表查询, rpc调用, 可能有超时之类的问题 .事务需要分布式事务处理单表的数据量很大, 垂直拆分也无法解决.水平拆分

2022-05-03 14:03:46 1087

原创 手写spring 03 - Cglib 构造函数实例化对象

文章目录目标设计实现新增getBean接口定义实例化策略接口JDK 实例化Cglib 实例化创建策略调用测试测试有参的构造实例创建测试无构造函数的测试有构造函数实例化获取构造函数信息测试Cglib实例化测试Cglib的策略实例化目标实现有参构造函数实例化对象.设计参考Spring Bean的容器源码实现方式, 在BeanFactory中添加Object getBean(String name, Object... args)创建有参构造bean对象的两种方式基于jdk的DeclaredCons

2022-04-23 15:02:01 912 1

原创 手写spring02- 实现bean的定义 注册 获取

文章目录目标设计实现BeanDefinition 的定义单例注册接口的定义与实现定义bean工厂 BeanFactory抽象类定义模板方法 AbstractBeanFactory实例化Bean类 AbstractAutowireCapableBeanFactory核心类实现(DefaultListableBeanFactory)测试目标此文中实现了spring容器的粗略的版本https://javaweixin6.blog.csdn.net/article/details/124256888此节要实

2022-04-23 13:59:11 670

原创 手写spring- 创建简单bean容器

文章目录目标设计简易实现目标springbean容器的目标是用于定义 存放 和获取bean设计使用map来存放bean . map的key为 bean的名称, value为 bean的定义信息bean的定义: BeanDefinition . 用于获取这个bean的一些属性信息. 例如下图截取spring源码中, 部分的方法, 获取该bean是否是抽象的, 是否是单例的, 是否是原型的, 是否是懒加载的, 并且提供了一些set和get方法来设置bean 的属性和获取bean 的属性. 在

2022-04-18 19:29:13 753

原创 windows10 安装 gradle 与idea gradle的配置

下载gradle 的安装包下载地址https://download.csdn.net/download/qq_33229669/85159857系统环境变量配置配置GRADLE_HOME 和GRADLE_USER_HOME用于指明gradle的安装包地址和本地仓库地址path中新建 %GRADLE_HOME%\bin配置gradle的阿里云仓库地址在gradle的init.d文件夹中, 新建立init.gradle文件文件内容如下allprojects{ reposito

2022-04-17 09:37:45 482

原创 设计模式 访问者模式

文章目录访问者模式访问者模式实战访问者模式在相同的数据结构下, 增加容易变化的业务访问逻辑, 为了增强扩展性, 将易变的访问逻辑进行解耦的一种设计模式.访问者模式实战模拟学校中, 有老师和学生, 也有家长和校长这两种数据访问的模式.该设计模式的类图如下抽象用户类 Userpublic abstract class User { // 姓名 public String name; // 身份 学生: 重点班、普通班 | 老师: 特级教师、普通教师、实习教师

2022-04-04 15:56:45 567

原创 设计模式 模板方法模式

文章目录模板方法模式模板方法模式实战模板方法模式模板方法模式适用于统一了执行的顺序和基本策略, 但具体每一步如何实现, 由各自的方法去实现.模板方法模式实战模拟获取京东 , 淘宝, 当当网的数据. 虽然他们网站的结构不一样, 但获取数据的过程是一致的, 模拟登录, 获取数据, 对数据进行处理, 生成海报等.模板方法模式的uml图如下抽象类NetMall 如下public abstract class NetMall { protected Logger logger = Logge

2022-04-04 09:26:56 206

原创 设计模式 策略模式

文章目录策略模式策略模式实战不使用策略模式的写法使用策略模式的写法策略模式策略模式解决的场景是具有同类课替代的行为逻辑算法场景, 比如不同类型的交易方式, 不同类型的登录方式等. 使用策略模式进行行为的包装, 供外部统一调用.策略模式实战模拟电商网站的各种不同的优惠, 满减, 直减, 折扣, n元购.不使用策略模式的写法写法如下 . 直接if else判断即可.public class CouponDiscountService { public double discount

2022-04-03 17:43:58 600

原创 设计模式 状态模式

文章目录状态模式状态模式实战.不使用状态模式的写法使用状态模式的写法状态模式状态模式的情景: 状态模式用于一个行为下的多种状态的变更.例如活动的审核 , 上线 ,下线状态等.状态模式实战.模拟活动的编辑 ,上线 , 审批拒绝, 审批通过等. 并且有些状态的流转是不可行的, 比如编辑中, 到下线.创建tutorials-22.0-1 模块.定义状态的枚举package com.thc.design;/** * 类名称:Status * 类描述: 活动状态枚举 * * 创建时间

2022-04-03 15:29:03 545

原创 设计模式 观察者模式

文章目录观察者模式观察者模式实战不使用观察者模式写法观察者模式写法观察者模式观察者模式场景: 当一个行为发生时, 传递信息给另外一个用户接收做出相应的处理. 两者没有直接的耦合关联.观察者模式实战模拟汽车摇号的结果进行通知.创建 tutorials-21.0-0 模块.进行汽车摇号服务的模拟public class MinibusTargetService { public String lottery(String uId) { return Math.abs

2022-04-03 10:27:09 372

gradle-7.4.2-bin.zip

gradle-7.4.2-bin.zip

2022-04-17

jdk-11.0.11_osx-x64_bin.dmg

jdk11 mac 版本 oracle官网下载的

2021-04-26

Another-Redis-Desktop-Manager.1.3.7.exe

Another-Redis-Desktop-Manager.1.3.7.exe 由于官网和码云上下载太慢, 因此上传,提供高速下载渠道。 比Redis Desktop Manager 更好用, 界面更美观

2020-07-14

vagrant_2.2.6_x86_64.msi

由于vagrant官网下载vagrant_2.2.6_x86_64.msi非常慢, 因此提供下载

2019-10-31

FastDFS安装所需要的所有文件

搭建FastDFS集群,我们需要用到多个安装包,包括:FastDFS_v5.05.tar.gz、fastdfs-nginx-module_v1.16.tar.gz、libfastcommon-master.zip、nginx-1.6.2.tar.gz、ngx_cache_purge-2.3.tar.gz、apache-tomcat-7.0.47.tar.gz等

2018-12-09

eclipse activiti的插件

eclipse中的activiti插件. 此插件可以成功安装到eclipse中. 安装教程文章https://blog.csdn.net/qq_33229669/article/details/81809137

2018-08-18

tomcat集群session共享jar包

commons-pool-1.6.jar,commons-pool2-2.2.jar,jedis-2.2.0.jar,tomcat-redis-session-manager-1.2-tomcat-7.jar tomcat集群,实现session共享

2018-03-26

eclipse插件豆沙绿主题

此资源为eclipse的豆沙绿主题,使用后,eclipse的主题可以变为绿色,保护眼睛.

2018-01-15

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

TA关注的人

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