Java Swing项目专栏项目前言这个超市管理项目是从八月初开始的,原以为像我这样的小菜比是完全掌控不了这样的项目的。原因是因为大一大二还是没怎么好好学自己的专业课,这次项目做完,我给自己建立了很强大的信心,原来你也可以,这里如果有和我一样荒废了大片的大学时光的同学,又不想大学就这样浑浑噩噩的过去的同学,可以和我一起来做这个项目呀。相信我,虽然这不是很高大上的项目,但是做完这个项目,你会和我建立
1.What will be printed when you execute thefollowing code? class C { C() { System.out.print("C"); } } class A { Cc = new C(); A() { this("A"); System.out.print("
转载 2024-10-06 14:00:02
29阅读
一、引言上篇博客主要介绍了,IK分词器的安装和使用,这篇章我们来谈谈如何构建定制的词库,来满足复杂的业务需求。二、本地自定义词库安装首先我们在elasticsearch-6.3.1/plugins/ik/config 目录下创建一个自己的文件xxx.dic在xxx.dic写入需要分词的词或短语,如下案例所示vim elasticsearch-6.3.1/plugins/ik/config/IKAn
介绍Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。特性idea在集成sonar插件后,就可以在代码提交前发现代码中的不规范和漏洞,即使进行修复,而不是等到提交到仓库后在进行代码质量扫描,然后重复提交–检测–修复的过程。sonar目
目前笔者所在的团队接入代码扫描的应用有七十多个,四百万行左右的代码。SonarQube自带的代码规则加上Findbugs的规则,一共有近五百条规则,因此在违规较多的时候,仅严重+阻断两个级别的违规总量可达到四千个。如果加上其他比较轻的等级的违规,千行代码违规可达到80到90之间。那么面对如此多的违规,要是每一个都要求研发去修改,那是不现实的。团队在最初实施
 简介:序列化:顾名思义就是将你所需要操作的实体及属性按照指定的顺序进行操作执行反序列化:将序列化操作的字段或实体属性进行还原操作注意:使用的是哪个的就必须一直使用那个,不然会导致不必要的引用问题测试用例模拟:测试实体属性@Data @AllArgsConstructor public class JsonBean { @JsonProperty(value = "faster
原创 2024-05-11 11:49:02
352阅读
# Java 自定义业务逻辑 在软件开发中,业务逻辑是指应用程序处理数据和请求的方式。Java 是一种面向对象的编程语言,非常适合构建复杂的业务逻辑。本文将介绍如何在 Java自定义业务逻辑,带你走进业务逻辑设计和实现的世界。 ## 1. 业务逻辑概述 在软件架构中,业务逻辑层(Business Logic Layer)介于用户界面和数据访问层之间。它负责处理数据、执行计算、以及规范应用
原创 8月前
17阅读
# Java自定义业务报表实现教程 ## 概述 在本教程中,我将向你展示如何实现Java自定义业务报表。作为一名经验丰富的开发者,我将引导你完成整个过程,并提供所需的代码示例和注释。首先,让我们看一下整个过程的步骤: ## 实现流程 | 步骤 | 描述 | |------|------| | 1. | 准备数据源和业务数据 | | 2. | 设计报表模板 | | 3. | 编写
原创 2024-04-14 04:17:16
30阅读
起因: 甲方那边交付源代码后,他们自己编译jar包,但是他们编译的时候需要先过一遍sonar的检测。所以去检测了,然后因为我们平常对项目的代码规范抓的不是很严,所以导致编译出来的问题比较多。 其实也是因为编译检测的规则比较严格。比如他那边不让用try管理流,推荐使用try()的方式管理流,利用8的流自动关闭规则。先不管他。我们还是先搭建自己的环境把,现在初步规划是现在本地搭建一下SonarQube
转载 2024-05-16 19:19:17
113阅读
## 自定义Sonar Java规则 Sonar Java是一个用于静态代码分析的工具,它可以帮助开发人员发现和修复潜在的代码问题。它提供了一组内置的规则,用于检查代码中的常见问题,但有时我们需要根据自己的需求定制规则。本文将介绍如何自定义Sonar Java规则,并提供一些代码示例。 ### Sonar Java规则 Sonar Java规则是一组用于检查Java代码的规则集合,它可以帮助
原创 2023-12-13 13:12:10
340阅读
一、自定义泛型1、 泛型的好处 ① 将运行时的异常提前至了编译时 ② 避免了无谓的强制类型转换 2、泛型在集合中的常见应用ArrayList<String> list = new ArrayList<String>(); true [推荐使用] ArrayList<Object> list = new ArrayList<String>();
1.常用ListViewAdapter的几种适配器比较   1、ArrayAdapter<T>。这是一个支持绑定任意对象数组到列表的数据适配器。这个适配器默认的View绑定是一个TextView。当这个TextView被使用的时候,       它将调用这个数组中每一个对象的toString()方法。如果需要选择性地显示数组中
这里来讲解一下Java8 新特性中的函数式接口, 以及和Lambda 表达式的关系。看到过很多不少介绍Java8特性的文章,都会介绍到函数式接口和lambda表达式,但是都是分别介绍,没有将两者的关系说明清楚,在这里,把自己的理解整理如下:一、函数式接口:函数式接口其实本质上还是一个接口,但是它是一种特殊的接口:SAM类型的接口(Single Abstract Method)。
文章目录一、数组排序1、基本数据类型2、包装类排序二、Java 自定义排序1、实现 Comparable 接口并重写 compareTo() 方法2、实现 Comparator 接口,重写 compare() 方法。三、java 中同类对象之间的 compareTo() 和 compare() 方法对比分析compareTo() 方法compare()方法Interface Comparable
 Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优化。一 、使用Arrays对数组进行排序 Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法。 1、使用Arrays排序:Arr
简单总结默认情况下:Java实现Comparator排序是升序,即自然排序根据参数,返回值来判断是否交换对于a,b两个参数(a在前,b在后)jdk官方的升序基于:< return -1 > return 1 = return 0降序就是反过来< return 1 > return -1 = return 0底层源码的实现可参考:java comparator 升序、降序、倒
转载 2023-06-10 17:24:55
450阅读
# Java自定义规则引擎科普 在软件开发中,规则引擎的使用越来越普遍。特别是在复杂业务逻辑中,规则引擎能够让我们轻松管理和执行各种业务规则。本文将介绍如何使用Java实现一个简单的自定义规则引擎,并通过代码示例进行演示。 ## 什么是规则引擎? 规则引擎是一个用于执行和管理业务规则的软件系统。它通常将规则从应用程序代码中分离出来,允许在不改动代码的情况下轻松修改规则。这样能够提高维护性和灵
原创 9月前
109阅读
(1)类间排序首先注意默认排规则,当使用sort(Objetc[] a)来进行对象的自然排序,该对象必需实现Compareable接口,重写compareableTo方法,并一般在此方法中定义这3种返回值(1,0,-1)来进行排序标准的确认。return 1 时,按照从小到大排序 (也可以是2,3.....正数)return 0 时,原位置不动return-1 时,按照从大到小排序public c
文章引用:既然JVM已经提供了默认的类加载器,为什么还要定义自已的类加载器呢?因为Java中提供的默认ClassLoader,只加载指定目录下的jar和class,如果我们想加载其它位置的类或jar时,比如:我要加载网络上的一个class文件,通过动态加载到内存之后,要调用这个类中的方法实现我的业务逻辑。在这样的情况下,默认的ClassLoader就不能满足我们的需求了,所以需要定义自己的Clas
转载 2023-08-19 10:35:27
50阅读
SonarQube 7.8自定义规则插件教程网上教程参差不齐,到处copy,各种坑。另外SonarQube源码里面的demo都是最新版本的,不适用旧版的开发教程,当前7.8的版本已经用了好久,换新版本也不值当。所有只能自己捣鼓。在自己折腾一天后,结合网上教程和SonarQube的源码,决定把完整的过程写下来,以免后人捉急写自定义规则插件当前的要求是,不允许开发随便修改对外公共接口的任何属性,包括参
转载 2024-01-25 21:20:41
781阅读
1评论
  • 1
  • 2
  • 3
  • 4
  • 5