
Java
文章平均质量分 90
Java常见基础问题
散落的流沙
立志要如山,行道要如水。不如山,不能坚定,不如水,不能曲达。
展开
-
HTTPS配置
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网.原创 2020-07-25 16:58:05 · 452 阅读 · 0 评论 -
debug模式下tomcat服务器启动超级慢的原因
注意检查选择的断点,将断点全部取出后再次启动服务器原因:在使用debug模式启动项目时,如果不关闭项目中的断点,启动时会自动加载这些断点,从而需要花费更多的事件。...原创 2019-03-26 20:30:20 · 566 阅读 · 0 评论 -
Cookie详解
Cookie:Cookie是保存在客户端计算机上的文本文件,保留了各种跟踪信息,Servlet支持Http Cookie的多种操作。识别返回用户的三个步骤:1、服务器脚本向浏览器发送一组Cookie。2、浏览器将这些信息存储在本机计算机上,后面可以获取使用。3、当下一次浏览器向Web服务器发送任何请求时,浏览器会把这些Cookie信息发送到服务器,服务器将使用这些信息来识别用户...原创 2019-03-08 18:31:42 · 418 阅读 · 0 评论 -
Servlet的客户端HTTP请求
Servlet客户端HTTP请求:当用户通过浏览器请求网页时,会向Web服务器发送特定的信息,这些信息不能被直接读取,因为这些信息是作为HTTP请求的头的一部分进行传输的。来自于浏览器端的重要的头信息:头信息 信息的具体描述 Accept 指定浏览器或其他客户端可以处理的MIME类型,值image/png或image/jpeg是最常见的两种可能值。 Accept-C...原创 2019-03-07 18:30:16 · 548 阅读 · 0 评论 -
0:0:0:0:0:0:0:1
我们在项目中通常会通过AOP切面去拦截请求的相关信息,以此进行后续的用户操作分析,那么在获取IP地址的时候,有时候会发现打印出来的信息是:0:0:0:0:0:0:0:1。出现这种情况是因为我们的请求中使用了localhost,将localhost换成127.0.0.1,就不会出现0:0:0:0:0:0:0:1了。...原创 2020-03-08 21:41:46 · 2382 阅读 · 0 评论 -
JAVA生成RSA公钥和私钥及RSA对数据的加签和验签
背景:最近来到了新的公司,公司做的是保险支付相关业务,对接渠道的时候经常会用到数据的加签和验签,初次涉及RSA加签验签,通过网站生成了RSA公钥和私钥,用私钥将我要传送的数据进行了加签,并将我的公钥提供给了渠道方进行验签,结果在联调的时候,验签总是错误,渠道方用自己的私钥对数据加签后再用自己的公钥对数据进行验签却能通过,于是我也用自己的私钥对数据进行加签后再用自己的公钥对数据进行验签,结果让我...原创 2019-12-08 16:16:23 · 2173 阅读 · 0 评论 -
JAVA文件运行时控制台提示Usage: RealmBase
用Eclipse运行Java文件时,控制台显示如下内容:Usage: RealmBase [-a <algorithm>] [-e <encoding>] [-i <iterations>] [-s <salt-length>] [-k <key-length>] [-h <handler-class-name>] <...原创 2019-06-04 13:59:23 · 3985 阅读 · 0 评论 -
windows服务器控制台乱码
项目:SpringBoot项目说明:日志文件中中文显示正常,控制台中文显示全部乱码解决方法:spirng boot 默认使用logback,默认会读取resources文件夹下的名为logback.xml的文件,在项目中的src/main/resource文件夹下,增加一个日志配置文件,名称为logback.xml(勿改动),配置文件内容为:<?xml version="1...原创 2019-06-28 11:29:12 · 1003 阅读 · 0 评论 -
读取jar包中resource文件夹下的文件
前两天写了对医院端提供的接口,接口需要从数据库中主动抽取符合条件的数据,然后将数据替换到resource文件夹下已有的XML模板中,例如模板在resource文件夹的templete文件夹中,模板名称为publicTemplete.xml,刚开始使用了File file = ResourceUtils.getFile("classpath:templates/publicTemplete.xml...原创 2019-08-24 15:21:02 · 13965 阅读 · 2 评论 -
读取本机上的文件和读取其他服务器上的文件
读取本机文件,文件地址为“/home/httpService/PDF/”:public String pdfToBase64(String fileName) throws Exception{ File file = new File("/home/httpService/PDF/"+fileName); FileInputStream fin =null;...原创 2019-08-24 15:48:42 · 4118 阅读 · 0 评论 -
Java异常———获取异常的具体信息、获取异常类型、将异常栈转为String字符串
背景:接口采用定时任务方式向MQ推送数据,每秒推送一条数据记录,因为量太大导致出了异常后无法追溯,于是需要将异常栈信息转为字符串保存到数据库中,这样就可以直接通过数据库知道记录推送失败的原因。e:异常类型+具体异常信息;e.getMessage():具体异常信息;代码:package sort;import java.io.ByteArrayInputStream;im...原创 2019-08-26 00:03:16 · 19031 阅读 · 0 评论 -
定时任务@Scheduled(cron = "* * * * * *?") 表达式详解
cron表达式格式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}cron表达式各占位符解释:{秒数}{分钟} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常“*” 代表每隔1秒钟触发;“,” 代表在指定的秒数触发,比如”0,15,45”代表0秒、15秒和45秒时触发任务“...转载 2019-05-28 10:50:38 · 44796 阅读 · 1 评论 -
Invalid bound statement (not found)错误的解决办法
项目用的是springMVC+spring+Mybatis框架,在编写模块的更新方法时,突然在控制台中提示Invalid bound statement (not found),于是查找了相关资料,发现引起这个错误的原因有多个,便在此做一个简单记录,以备以后查询。1、检查Mybatis的***mapper.xml的namespace是否和Dao接口对应;2、检查函数名称是否对应;3、去...原创 2019-03-30 00:43:34 · 3138 阅读 · 0 评论 -
Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war
这种情况通常是运行maven的相关操作时找不到web.xml的情况下造成的。解决方案:在pom.xml的<build></build>结点中添加如下代码:<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...原创 2019-03-21 16:07:55 · 9575 阅读 · 1 评论 -
Java常见线程问题
不管是在我们编写程序时,还是在我们面试时,线程都是一个不可避免会遇到的问题,所以今天抽了时间,在网上整理了一些关于线程经常会遇到的问题。1、 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒...原创 2019-02-27 16:32:09 · 943 阅读 · 0 评论 -
Java输入/输出——File类详解
本文主要讲述了Java的输入和输出(IO)方面的内容,IO是所有程序都必须的部分,使用输入机制,允许程序读取外部数据(包括来自磁盘、光盘等存储设备的数据)和用户输入数据;使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘等设备中。Java的IO通过Java.IO 包下的类和接口来支持,主要包括输入/输出两种IO流,每种输入/输出流又可以分为字节流和字符流两大类,其中字节流以自己为单位来处...原创 2019-02-28 00:39:41 · 3488 阅读 · 0 评论 -
String类的常用方法总结
Java中的String类是字符串操作类,提供了多种方法对字符串进行操作,以下对String类的常用方法进行总结:一、String类简介String类位于Java的lang包下,在使用时不需要通过import引入,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,对象创建后不可修改,由0或多个字符组成,包含在一对双引号之间。二...原创 2019-02-24 19:20:51 · 12028 阅读 · 4 评论 -
==和equals的区别
在Java开发中,通常会用到==或者equals来比较两个值是否相等,在引用数据类型中,有时候会混淆两种比较方式,特将两种比较方式的区别进行总结:1、==“==”通常用于比较八大基本数据类型的值,比较的是栈的内容是否相同,即int,long ,float,double,char,byte,boolean和short,如比较结果为真返回true,结果为假返回false。“==”也可以用来...原创 2019-02-24 22:22:50 · 205 阅读 · 0 评论 -
面向对象的三大特征
面向对象的程序设计语言有三大特征,分别是封装、继承和多态。封装:在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。封装的优点:1、良好的封装能够减少耦...原创 2019-02-24 22:48:27 · 286 阅读 · 0 评论 -
JDBC编程实例(带注释,详细)
JDBC编程过程中,主要经历了如下几个阶段:1、加载数据库驱动(Driver);2、创建数据库连接(Connection);3、创建Statement对象(Statement,PreparedStatement);4、执行SQL语句(execute,executeUpdate,executeQuery);5、释放资源。在之前的文章中,详细的介绍了JDBC编程的每...原创 2019-03-06 02:45:31 · 1394 阅读 · 0 评论 -
Java的Collection接口详解
Collection:Collection接口是List、Set和Quene接口的父接口,该接口里定义的方法既可以于操作Set集合,也可用于操作List和Quene集合。Collection接口里定义了诸多操作集合元素的方法,如下表所示:方法 方法描述 boolean add(Object obj) 向集合中添加一个数组,如果集合对象被添加操作改变了,返回true。 ...原创 2019-03-08 22:16:18 · 243 阅读 · 0 评论 -
Java面向对象——初始化块
Java使用构造器来对单个对象进行初始化操作,使用构造器先完成整个Java对象的状态初始化,然后将Java对象返回给程序,从而让该Java对象的信息更完整。与构造器作用非常相似的是初始化块,它也可以对Java对象进行初始化操作。1、使用初始化块初始化块是Java类里可出现的第四种成员(前面依次有成员变量,方法和构造器),一个类里可以有多个初始化块,相同类型的初始化块之间有顺序:前面定义的初...原创 2019-03-03 21:57:03 · 316 阅读 · 0 评论 -
JDBC详解——JDBC常用接口
JDBC:JDBC的全称是Java Database Connectivity,即Java数据库连接,它是一种可以执行SQL语句的Java API。程序可以通过JDBC API连接到关系数据库,并使用结构化查询语言(SQL,数据库标准的查询语言)来完成对数据库的查询和更新。JDBC执行事件:建立与数据库的连接;执行SQL语句;获得SQL语句的执行结果。JDBC驱动程序:...原创 2019-03-04 00:05:09 · 7864 阅读 · 0 评论 -
JDBC详解——JDBC编程步骤
在前文《JDBC详解——JDBC常用接口》中详细介绍了JDBC API的相关接口和类之后,本文将详细的介绍JDBC编程步骤。JDBC编程步骤大致按如下步骤进行:1、加载数据库驱动。通常使用class类的forName()静态方法来加载驱动,例如加载MySQL数据库驱动,可以采用如下代码:Class.forName("com.mysql.jdbc.Driver");如果是加载Ora...原创 2019-03-04 01:52:48 · 726 阅读 · 0 评论 -
Java异常处理
在执行程序过程中,我们有时候会看到控制台给出xxxException提示,那么这些提示代表什么呢?今天本文主要讲解Exception相关内容经常会遇到的一些Exception和捕获异常的方法。什么是异常?异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。引发异常的可能有很多,有的是用户错误触发的,有的是程序错误触发的,还有一些物理因素触发的异常。所有的异常都是...原创 2019-03-07 09:41:47 · 161 阅读 · 0 评论 -
HTTP的400/404/500等状态码
HTTP常见状态码状态码 状态码消息 状态码描述 100 Continue 只有请求的一部分已经被服务器接收,但只要她没有被拒绝,客户端应继续改请求。 101 Switching Protocols 服务器切换协议。 200 ...原创 2019-03-07 10:37:44 · 13621 阅读 · 0 评论 -
Java的Date和Calendar对比
在Java程序中,涉及到日期处理时,我们通常用Date类和Calendar类,以下就两个类进行比较分析:一、Date类:Date类用来封装日期和时间,在JDK1.0中,是唯一用来处理时间日期的类,自JDK1.1及之后,Java推荐使用Calendar类来代替Date类处理时间和日期。1、Date类构造函数初始化对象Date类提供了两个构造函数来实例化对象,如下所示:Date d...原创 2019-02-22 05:45:49 · 1594 阅读 · 0 评论