![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 63
微步_ym
我要创建一个世界...
展开
-
Java:Spring、Java、MyBatis常用注解
Spring给容器中注入组件控制层@Controller业务层@Service数据访问层@Repository通用@Component:泛指各种组件,@Controller、@Service、@Repository都可以称为@Component。给属性注入IOC容器中的bean@Autowired:由bean提供,@Autowired可以作用在变量、setter方法、构造函数上;@Autowired有个属性为required,可以配置为false。@Resource:由JSR-250原创 2022-04-19 14:02:26 · 532 阅读 · 0 评论 -
Java:注意事项集合
回车与换行的区别,CRLF、CR、LF详解(\r \n \r\n的区别)https://blog.csdn.net/lishuoboy/article/details/84768748java中String的格式化format()方法https://blog.csdn.net/weixin_42338519/article/details/89392562原创 2021-11-05 18:37:26 · 338 阅读 · 0 评论 -
Java:Java架构师学习规划
操作系统底层JVM底层深入了解JVM的底层原理:https://blog.csdn.net/ligh_sqh/article/details/79481040四高:高扩展性、高可用性、高可维护性和高安全性谈谈软件的高扩展性、高可用性、高可维护性-------针对网银接入项目的思考:https://blog.csdn.net/dingwood/article/details/7540988算法:动态规划...原创 2021-10-21 08:52:35 · 226 阅读 · 0 评论 -
EasyExcel基本教程
前言easyexcel的github地址为:https://github.com/alibaba/easyexcel,目前的最新版本是v2.2.10。Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M原创 2021-07-17 22:10:37 · 2729 阅读 · 4 评论 -
JDK中的开发工具详解
java.exe功能说明负责执行字节码文件。语法java [-命令选项] class [args…]java [-命令选项] -jar jarfile [args…]命令选项-nowarn 不输出警告信息-verbose 输出编译器运行中的详细信息-classpath 会覆盖系统的classpath环境变量-sourcepath<path> 指定Java源文件的位置-d<目录>原创 2021-04-28 12:37:45 · 694 阅读 · 1 评论 -
Java Web之HttpSession详解
前言HttpSession是服务端的技术,服务器会为每一个用户创建一个独立的HttpSession。HttpSession原理:当用户第一次访问Servlet时,服务器端会给用户创建一个独立的Session并且生成一个SessionID,这个SessionID在响应浏览器的时候会被装进cookie中,从而被保存到浏览器中当用户再一次访问Servlet时,请求中会携带着cookie中的SessionID去访问服务器会根据这个SessionID去查看是否有对应的Session对象有就拿出来使用;没有就创建一个原创 2021-04-25 11:33:10 · 2623 阅读 · 1 评论 -
基于POI框架操作Excel文件
前言Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI的结构如下:HSSF - 提供读写Microsoft Excel格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。HWPF - 提供读写Microsoft Word格式档案的功能。HSLF - 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读写Microsof原创 2021-04-24 21:40:26 · 323 阅读 · 0 评论 -
URL中的特殊字符
URL出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,这时需要将这些字符转化成服务器可以识别的字符,对应关系如下:+ URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20/ 分隔目录和子目录 %2F ? 分隔实际的URL和参数 %3F % 指定特殊字符 %25 # 表示书签原创 2021-04-23 19:11:25 · 6244 阅读 · 0 评论 -
项目之前后端分离
前言前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。前后端分离的核心思想是前端html页面通过ajax调用后端的restful api接口并使用json数据进行交互。(名词解释:在互联网架构中,web服务器:一般指像nginx,apac转载 2021-04-22 10:54:10 · 1014 阅读 · 0 评论 -
Java问题:通过类的全限定类名查找其所在的jar文件的位置
如何通过类的全限定包名查找它的jar文件的位置?方法很简单,如下:包名.class.getProtectionDomain().getCodeSource().getLocation();示例package com.example;public class Test{ public static void main(String[] args){ System.out.println(org.apache.commons.logging.Log.class.getProtectionD原创 2021-04-16 09:50:47 · 1077 阅读 · 0 评论 -
Java问题:在Java程序中抛出异常后,其之后的代码还会继续执行吗
当抛出运行时异常后,后面的代码还会执行吗有这样的一个问题,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢?如下代码:public void add(int index, E element){ if(size >= elements.length) { throw new RuntimeException("顺序表已满,无法添加"); //return; //需要吗? } ....}为了回答这个问原创 2021-04-14 15:48:43 · 3468 阅读 · 0 评论 -
swing编程之滚动面板:JScrollPane
概述官方的API文档:javax.swing.JScrollPaneJScrollPane,滚动面板。JScrollPane 支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示。JScrollPane 内包含一个视口(ViewPort),表示 JScrollPane 的显示区域。视口内包含一个需要滚动显示的组件,称为视图。JScrollPane 常用构造方法:/** * 参数说明: * view: 需要滚动显示转载 2021-04-09 14:27:20 · 3707 阅读 · 0 评论 -
在Java中使用网络框架编写网络应用程序
前言自从JDK1.4中有了NIO以后,这个方面越来越活跃,也为java赢得更多开发者的支持。做java网络编程需要掌握一些基本的知识和技能:套接字编程、阻塞/非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBC API、JavaMail API、MVC设计模式、安全网络通信、CORBA和Web服务 等等。八大主流网络编程框架:1、Apache MINA项目主页:http://mina.apache.org/为开发高性能和高可用性的网络原创 2021-04-09 12:48:14 · 467 阅读 · 0 评论 -
使用JTable创建一个带有复选框的用于删除选中列的表格
JTableDefaultCellEditorAbstractTableModel原创 2021-04-09 10:19:32 · 1485 阅读 · 1 评论 -
java.util.Date、java.sql.Date、java.sql.Time和java.sql.Timestamp之间的区别
继承关系java.util.Date、java.sql.Date、java.sql.Time和java.sql.Timestamp之间的继承关系java.lang.Object....|__java.util.Date..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time【父类】java.util.Date日期格式为:年月日时分秒【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据]【子类】jav原创 2021-04-06 15:27:16 · 219 阅读 · 0 评论 -
Java中的四种访问修饰符:public、default、protect和private
前言Java中有四种访问修饰符用于控制类、接口、变量和方法的封装程度。这四种修饰符分别为:private 私有的,类可见性package/friendly/default 包级别的/友好的/默认的,包可见性protected 受保护的,不同包,子父类可见性public 公共的,项目可见性其中,变量和方法可以用四种修饰符修饰,而类和接口仅能用public和default修饰。类之间的关系类和类之间的关系有如下几种:以Hero为例自身:指的是Hero自己同包子类:ADHero这原创 2021-04-06 14:53:11 · 3352 阅读 · 0 评论 -
对Java中的日期进行格式化处理
前言如果用java.util.Date来直接输出日期,格式会比较固定,不够灵活。那如何设置输出日期的格式呢?又如何来按照自己想要的格式来输出日期呢?日期转字符串首先我们先要知道java中年月日等时间用什么字母可以替代y 代表年M 代表月d 代表日H 代表24进制的小时h 代表12进制的小时m 代表分钟s 代表秒S 代表毫秒代码如下:package date2;import java.util.Date;import java.text.SimpleDateFormat;原创 2021-04-06 14:38:13 · 1342 阅读 · 0 评论 -
使用jacob和poi处理word文档(Word+Excel+PPT)
POI库的下载地址:http://poi.apache.org/index.htmlJACOB库的下载地址:https://github.com/freemansoft/jacob-project/releases其中,jacob-1.20-x64.dll 是用于64位机器上的,jacob-1.20-x86.dll是用于32位的。该dll放于 C:\Windows\system32 目录下。jacob.jar放到项目的lib文件夹,并添加到classpath中。...原创 2021-04-06 11:58:00 · 488 阅读 · 0 评论 -
使用iText处理pdf文件的入门级教程
前言iText是著名的开源项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText项目的官网为:http://itextpdf.com/,本教程需要用到的jar包是:itextpdf-5.5.9.jar,其地址在:https://repo.itextsupport.com/webapp/#/artifacts/browse/tree/General/releases/com/itextpdf/itextpdf原创 2021-04-06 11:07:10 · 7352 阅读 · 0 评论 -
问题集:swing编程之往窗口添加组件后不能立即显示出来
前言由于某些需要,需要进行 Java Swing 编程。但是在进行编程中,发现了一个问题,那就是给 JFrame 添加组件后,组件没有立即显示。你以为你程序有问题,各种查资料,发现没问题,都是这样的,然后在你骂娘的时候,你突然对窗体进行拉伸,你就发现组件又显示出来了。此时就各种冒火。那么这到底是什么鬼呢?其实就是程序语句顺序的问题,即:对 JFrame 主窗体的初始化等设置一定要放在程序最后面。模拟场景Main.java: [没问题的版本,仅有 3 个 JLabel]/** - 程序入口 - @原创 2021-04-03 23:29:03 · 2045 阅读 · 2 评论 -
Java之MySQL模糊查询(like)
在Java中进行MySQL模糊查询有两种方式(通配符百分号%匹配0~n个任何字母。):第一种方式:直接在SQL语句中进行拼接,此时需要注意的是parm在SQL语句中需要用单引号拼接起来,注意前后单引号之间不能空格。String sql = "select * from tb_user where uname like '%" + parm + "%'";第二种方式: 使用占位符,在占位符赋值时进行拼接。String sql = "select * from tb_user where uname原创 2021-04-03 15:05:33 · 5758 阅读 · 5 评论 -
在Java中生成唯一识别码(Universally Unique Identifier,UUID)
前言我们开发的时候,数据库表总会有一个主键,以前我们可能会使用自增的数字作为主键。这样做去确实查询的时候比较快,但是在做系统集成或者数据迁移的的时候就麻烦了。这是id就有可能重复了。那么有什么比较好的方法解决这一问题呢?于是jdk1.5出了UUID这个类来生成唯一的字符串标识。什么是UUIDUUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用原创 2021-04-02 21:28:39 · 2242 阅读 · 0 评论 -
使用Javadoc语法写好文档注释
简介Javadoc用于描述类或者方法的作用。Javadoc可以写在类上面和方法上面。很多程序对Javadoc都不重视,认识不到Javadoc的作用,很多人都是这样认为的:“我只要写好功能就够了,写Javadoc太浪费时间,也没啥作用,还不如用写Javadoc的时间再多些个功能呢!”,我们知道注释是为了解释代码的作用的,是为了将来给自己或者别人快速了解代码的,在方法内一般用行注释//的比较多,是针对一小块代码做出解释的,而Javadoc的作用是针对整个方法或者整个类做一个简要的概述的,使得别人不通过看具体原创 2021-04-01 10:53:05 · 634 阅读 · 0 评论 -
正确使用日志的技巧
选择正确的Log开源框架在代码中为了知道程序的行为的状态, 我们一般会打印一条日志: log.info("Happy and carefree logging"); 在所有的日志框架中, 我认为最好的是SLF4J. 比如在Log4J中我们会这样写: log.debug("Found " + records + " records matching filter: '" + filter + "'"); 而在SLF4J中我们会这样写: log.debug("Found {}原创 2021-03-31 14:56:10 · 808 阅读 · 0 评论 -
1.x系列的Log4j日志库的基本使用方法
https://blog.csdn.net/victorwujava/article/details/1620880?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-5&spm=1001.2101.3001.4242https://blog.csdn.net/u013870094/article/details/79518028原创 2021-03-30 17:06:53 · 679 阅读 · 0 评论 -
Log4j与commons-logging配合使用
为什么要用日志(Log)?这个……就不必说了吧。为什么不用System.out.println()?功能太弱;不易于控制。如果暂时不想输出了怎么办?如果想输出到文件怎么办?如果想部分输出怎么办?……。为什么同时使用commons-logging和Log4j?为什么不仅使用其中之一?Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口,它自身的日志功能平常弱(只有一个简单的SimpleLog?),所以一般不会单独使用它。Log4j的功能非常全面强大,是目前的首选。我发现几乎所有原创 2021-03-31 14:24:15 · 703 阅读 · 0 评论 -
Java:传值和伪传引用
基本概念传值:传递的是值的副本。方法中对副本的修改,不会影响到调用方。传引用:传递的是引用的副本,共用一个内存,会影响到调用方。此时,形参和实参指向同一个内存地址。对引用副本本身(对象地址)的修改,如设置为null,重新指向其他对象,不会影响到调用方。代码示例直接上代码,更好的理解两者的区别。首先看传基本数据类型,如int、long等。// 基本数据类型复制代码// 基本数据类型public class ParamChangeValue { public static vo原创 2020-09-02 02:56:27 · 253 阅读 · 0 评论 -
基于jdk-14.0.2和jpackage命令把Maven项目打包成可安装程序
软件基础Windows 10、JDK-14.0.2、NetBeans 12.0、WiX Toolset v3.11.2基于NetBeans和Maven打包Java项目在NetBeans中打包Maven项目,有两种方式,一是把项目的所有第三方依赖和主程序构建成一个JAR包,通过这种方式构建出来的JAR包,会包含自己写的代码编译后的所有class文件,以及第三方依赖,此外还有一些Maven配置文件,这样的JAR包在配置了Java环境的平台中可以独立运行。二是把项目的主程序构建成JAR包,把项目的所有第三方原创 2020-08-28 23:15:27 · 2064 阅读 · 1 评论 -
在Java中基于mysql驱动包连接MySQL数据库
MySQL驱动包Java程序要连接MySQL数据库,需要使用MySQL驱动包(jar包),当前驱动包的最新版本是:mysql-connector-java-8.0.21.zip。解压这个压缩包,会看到如下的文件夹结构,其中的mysql-connector-java-8.0.21.jar就是我们需要的MySQL驱动包。把这个jar包复制到Java项目的用于存储库文件的libs文件夹中,再在IDE里导入这个jar包,如此就可以使用jar包里的API了。代码示例mysql-connector在8.0之前和原创 2020-08-10 23:53:03 · 2395 阅读 · 1 评论 -
基于Ant在NetBeans 11.0中创建并使用第三方库(jar包)
软件平台Apache NetBeans IDE 11.0,Ant项目构建工具(注意,Ant,而不是Maven,或Gradle),JDK 12.0.2基于Ant创建Java库项目点击File->Open Project,选择Java with Ant->Java Class Library,然后点击Next。确定库项目的名称,点击Finish,至此完成了Java库项目的创建。如下为库项目的文件结构。在项目中创建一个名为tools的包,并在其中创建一个PrintIntArr类。原创 2020-08-04 19:30:52 · 865 阅读 · 0 评论 -
在Ubuntu 20.04 LTS中配置Java开发环境(jdk-14.0.1)
在Ubuntu 20.04 LTS中配置Java开发环境下载Java开发工具包jdkjdk的下载地址为:http://www.oracle.com/technetwork/java/javase/downloads/index.html。点击红色方框中的JDK Download链接。在下载页面中根据自己的系统选择对应的jdk版本,此处以Ubuntu 20.04 LTS(64bits)系统为例,选择压缩类型的jdk-14.0.1_linux-x64_bin.tar.gz进行下载。安装步骤..原创 2020-07-10 23:31:23 · 9285 阅读 · 1 评论 -
Java:在Windows 10和Ubuntu 14.04中配置Java开发环境(jdk-12.0.2)
配置Java开发环境原创 2019-08-03 10:27:35 · 2299 阅读 · 1 评论 -
Java:面向对象编程的概念
原文链接:http://docs.oracle.com/javase/tutorial/java/concepts/index.html什么是对象?对象是理解面向对象技术的关键。现在看看你的周围你会发现很多现实世界中对象的例子:你的狗,你的桌子,你的电视机,你的自行车。现实世界中的对象有两个特点:他们都有状态和行为。狗狗的状态(名字,颜色,品种,饥饿)和行为(叫,抓取,摇尾巴)。自行车也...原创 2019-08-03 22:58:21 · 305 阅读 · 0 评论