JAVA
文章平均质量分 63
hikktn
欢迎关注我的语雀知识库,Java之从零开始(司仪剑君)
展开
-
手写工作流设计模式,针对常见的工作流步骤流转,减少过多的if/else,提升编程思维
这一年下来,写两次工作流流转,总结下经验。第一次写的时候,只找到用模版设计模式包裹一下,每个方法都做隔离,但是在具体分支实现的时候,if/else 满屏分,而且因为要针对不同情况,重复代码很多,但是if/else的条件又不一样,搞得我没办法用设计模式修改,想过用工厂模式重构。一是没时间,二是工厂模式和策略模式基本上都用不来,首先,工厂模式一定是if else分支较多,并且入参明确、固定。策略模式也是不同的方法,实现不同的业务,入参明确、固定。原创 2023-11-23 15:24:32 · 1875 阅读 · 0 评论 -
Java编程优化代码心得 分层设计和设计模式引入 常用技巧的好坏
当然,还有更厉害的写法,就是巧用注解、,这一大杀器,用起来才是大佬。基本没人敢动你的代码,哈哈哈。这些优化实际上还是看个人,我自己对代码有强迫症,要是写如此烂的代码,后辈来接手我的代码,一定会笑话我的。原创 2023-07-31 20:50:05 · 286 阅读 · 0 评论 -
SpringBoot 接口统一加密和解密
在我们日常的Java开发中,免不了和其他系统的业务交互,或者微服务之间的接口调用如果我们想保证数据传输的安全,对接口出参加密,入参解密。原创 2023-04-24 14:04:41 · 3662 阅读 · 2 评论 -
WebService最优方案选择
最近,接触到了一个java对接C#的项目,使用WebService技术开发。项目已经快告一段落了,经过这几个月接触和使用。我有了一个清晰的认识,之前也调研了互联网上大部分实现的通讯,他们的优缺点,我都有一定的了解,我认为的最好解决方案是 wsimport生成的代码,让我们看看这几种方式的优缺点吧。原创 2023-01-17 19:03:30 · 1408 阅读 · 0 评论 -
Java网络大文件切片和合并到文件下载
有一个http链接,需要我针对大文件分片下载byte数组,然后将这些byte数组合并。因为是前期的开发,上传的都是小文件,并且也没有并发。但是一旦上线,上传文件就会出现IO阻塞等问题。原创 2022-11-30 11:33:12 · 886 阅读 · 0 评论 -
ElasticSearch 获取文档总数 6.0.x
欢迎大家关注我的知识库,你的关注就是我前进的动力!CSDN专注于问题解决的博客记录,语雀专注于知识的收集与汇总,包括分享前沿技术。原创 2022-07-18 16:10:34 · 859 阅读 · 0 评论 -
gateway 注入ApplicationEventPublisher 空指针
欢迎大家关注我的知识库,你的关注就是我前进的动力!CSDN专注于问题解决的博客记录,语雀专注于知识的收集与汇总,包括分享前沿技术。原创 2022-07-15 11:20:59 · 641 阅读 · 0 评论 -
JAVA 之POI导入批量新增、批量检查、日志记录、失败原因、失败条数、数据库映射
需求分析Excel导入去做一些前置检查,包括非空检查和根据前面的字段生成对应的值、唯一索引等检查。以及导入的数据失败的原因,成功的条数日志记录。Excel的标题名和字段名数据库映射。思路数据映射之前其实是有一个版本,是按照getCell(0) 列数来获取的,并没有做数据映射。这个有一个问题,就是模板一旦出现一点改动,随之而来的就是代码的大量改动。并且硬编码代码过多,当然他也有优点,效率高。为了完成数据映射,那么就必须引入反射,自定义注解来帮助我们完成数据映射,自定义注解引入的话,就会出现一个原创 2022-05-07 18:16:30 · 1765 阅读 · 0 评论 -
多层(嵌套)for循环中list add新增map或者object,内容和地址都是一个(被覆盖问题)
首先呢,我直接拿那些人博客的例子。public static void main(String[] args) { int [] arrs={1,2,3,4}; String[] sheets = {"我","是"} ArrayList<String> strings = new ArrayList<>(); for (String sheet : sheets){ for (int i: arrs) { String原创 2022-04-29 12:53:49 · 462 阅读 · 0 评论 -
JAVA实现Oracle批量新增
首先创建两个自定义注解@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface TableName { String value() default "";}@Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Column {原创 2022-03-02 11:35:17 · 435 阅读 · 0 评论 -
Java实现MySQL批量新增
注意:Oracle与MySQL不同,该方法在Oracle无效,并且会报ORA-00933:SQL命令未正确结束首先创建两个自定义注解@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface TableName { String value() default "";}@Target({ElementType.FIELD})@Retention(Retentio原创 2022-03-01 16:30:52 · 1148 阅读 · 0 评论 -
自定义generate pojos.groovy注释讲解,可进行简单二次开发
import com.intellij.database.model.DasTableimport com.intellij.database.model.ObjectKindimport com.intellij.database.util.Caseimport com.intellij.database.util.DasUtilimport java.io.*import java.text.SimpleDateFormatimport java.lang.*;/* * Availab原创 2021-07-10 18:20:06 · 1130 阅读 · 1 评论 -
SpringBoot整合SpringDataJPA入门案例
第一步,引入pom <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> <relativePath/> <!-原创 2021-04-06 21:58:59 · 226 阅读 · 0 评论 -
zookeeper入门教程
Zookeeper概念•Zookeeper 是一个分布式的、开源的分布式应用程序的协调服务。•Zookeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务。•Zookeeper 提供的主要功能包括:•配置管理•分布式锁•集群管理Zookeeper安装与配置https://blog.csdn.net/qq_41520636/article/details/114959972ZKClient安装与使用https://blog.c.原创 2021-03-28 16:23:16 · 648 阅读 · 0 评论 -
手写RPC框架
RPC框架的实现过程1.注册中心 a.本地注册,需要的参数是 接口名,ip和端口 b.开启ServerSocket 服务端,注册服务 c.开启线程,返回 服务注册信息2.服务端 a.接口 实现类注册 b.开启服务端,等待客户端请求,返回结果3.客户端 a.动态代理处理服务端请求 需要的参数是 接口名,方法名,方法参数列表,方法参数 b.结果返回1.注册中心 a.本地注册,需要的参数是 接口名,ip和端口 ...原创 2021-03-23 22:37:50 · 233 阅读 · 0 评论 -
zookeeper的ZKClient的使用
注册中心的原理环境准备需要一台linuxlinux安装zookeeper,教程详情https://blog.csdn.net/qq_41520636/article/details/114959972下载ZooInspector可视化工具下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip双击zookeeper-dev-ZooInspector.jar打开..原创 2021-03-20 01:05:33 · 1024 阅读 · 0 评论 -
linux zookeeper windows上安装dubbo-admin
环境准备1.maven的安装2.nvm的安装3.npm的安装4.zookeeper的安装5.dubbo-admin的安装1.maven的安装http://maven.apache.org/download.cgi第二步配置环境变量新建系统变量第三步,ctrl+r打开cmd,输入mvn -v,验证安装成功!第四步,更改仓库下载地址settings.xml(在你安装的conf下面就有这个文件)<?xml version=...原创 2021-03-18 04:19:24 · 341 阅读 · 0 评论 -
Spring好用的组件分享
基础配置application.properties#热部署#开启spring.devtools.restart.enabled=true #监听目录spring.devtools.restart.additional-paths=src/main/java #mybatis#mybatis-config.xml配置文件的路径#mybatis.configLocation=classpath:mybatis-config.xml#SQL语句映射文件#mybatis.mapp.原创 2021-03-06 19:11:56 · 171 阅读 · 1 评论 -
JDK1.8个人总结新特性
前言根据各种方式学习总结,留此博客方便个人查阅。准备jdk1.8引入了最重要的特性,就是可以在接口中声明static、default接口。借此,后续众多源码都是在此基础上引用。接口实例public interface MyInterface { //抽象方法 String abstractMethod(); //默认方法 default String defaultMethod() { return "execute default method"; } //原创 2021-02-02 01:22:57 · 485 阅读 · 1 评论 -
享元模式&ThreadLocal结合实例
享元模式定义:运用共享技术来有効地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。public abstract class Log { /* * 内部状态(类似于数据库主键,不会发生频繁变更) * 同一线程中,记录日志时,用户名字、用户性别、用户角色 */ //用户名字 private String username; //用户性别 private String sex; /..原创 2021-01-28 00:17:16 · 202 阅读 · 0 评论 -
jcstress并发线程测试工具使用记录
学习高并发使用的工具遇到以下问题:按照百度上面的流程,直接移植到springboot项目中测试,发现每次install都会报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project demo1: There are test failures.无法生成jcstress.jar包,继而无法测试解决方案:重新创建一原创 2021-01-06 22:46:43 · 526 阅读 · 0 评论 -
设计模式(七大原则)理论知识
设计模式使用场景 软件架构和程序设计目的 1.提高代码的可重用性 2.提高代码的可读性 3.保障代码的可靠性设计原则特点 1.可扩展性(Extensibility) 2.灵活性(Flexibility) 3.组件化可插拔式(Pluggability)准则单一职责原则:一个Java类存放的功能不能实现不同属性的功能,吃饭和睡觉这是两件事,需要分开创建对象。 开闭原则:软件对外的扩展开放,对外修改关闭,吃饭你得选择吧,有...原创 2020-12-15 00:54:55 · 211 阅读 · 0 评论 -
Protobuf版本下载地址
记录下protobufhttps://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1官方protobuf所有都在,如果后面更新了版本,只需要更改后的v.几版本,前面的版本都可以下载,这里是最新的。对于很多不能访问Google,这个要方便多了。不过网速很慢,上传了部分百度云的protobuf。链接:https://pan...原创 2018-12-14 12:07:13 · 29884 阅读 · 1 评论 -
JavaWeb一个简单的酒店项目【前台管理和用户界面和后台管理】以及微信对接
这两月我用了这么久的时间写的项目,无偿分享给大家。首先,先申明这里面代码非常多bug,还有很多功能没有完成,紧靠一个学生实在太难了。那么我先讲讲项目的bug,以及未完成的功能,避免大家找到又说坏话。还有项目有部分个人隐私,大家看到就当没看到吧,反正我的信息又不值几个钱。哈哈~~~一、如果出现断网,后台增加房间或修改房间信息,可能会出现致命bug,事务未回滚,这个是我自己写出来的bug...原创 2018-11-04 18:06:37 · 7719 阅读 · 2 评论 -
JavaWeb增删改查以及从零到深的剖析分页以及cookie登录
这是关于一个分页慢慢使用的知识变多的项目,可能会有顺序错误,但是小问题,懒得理了。项目链接:链接:https://pan.baidu.com/s/1kbcrFSqMGgDBVAypri_vXw 密码:vxdb我就直接把最终成果贴出来,想要研究,请自行查看代码。可能会有出错代码,反正也只是照着老师敲的,有问题很正常,不要再骂了。第五个访问主页的路径http://localhost:808...原创 2018-08-25 23:58:38 · 291 阅读 · 0 评论 -
JavaWeb两种方式登录
第一种是jdbc+mysql+jsp简单登录页面第二种是jdbc+mysql+jsp+servlet+xml简单登录页面首先这是项目链接:https://pan.baidu.com/s/121KP74EKieJIgavbhz7Oow 密码:qmeu因为这个项目很简单,只要有一定数据库基础和jsp基础,基本都可以做出来,所以也不会解释代码流程等等。第一种,项目结构 ......原创 2018-08-12 15:51:47 · 17242 阅读 · 6 评论 -
JAVA swing实现简单增删改查
此次图形界面的增删改查,基本上非常简单,想要快速看原项目,请直接打开连接:链接:https://pan.baidu.com/s/1lFsOTH9D9Z-3W9yRDAVF7w提取码:435o首先,看看界面样子吧。因为我用的eclipse开发的swing,所以我在eclipse下载了一个插件,如果你们导项目进去下载了插件,是可以进行图形化设计。而插件就自行百度就行,简便方式打开H......原创 2018-06-27 16:11:43 · 29239 阅读 · 21 评论 -
Java目前毕生所需知识总汇
鄙人专科学识,才学书浅,大二段位,目前自诩青铜段位,应老师要求,每月持续更新一次博客。所有观点仅我所认知,如果有任何写错的地方,望海涵,谨记!简单说,学java必须明白一门语言需要编程思想,而编程思想不是靠道听途说,只有孜孜不倦的练习,加上汗水以及天赋,你才能称作为程序员吧!个人观点,谢谢!题外话说完,正文开始:大学入门第一次接触java,大家一定都是helloworld开始的,我...原创 2018-05-31 16:21:32 · 322 阅读 · 0 评论