Java基础知识
IT大兵
这个作者很懒,什么都没留下…
展开
-
switch case语句中如何使用枚举常量作为标签
switch case 语句中如何使用枚举常量作为标签转载 2022-10-05 16:06:31 · 435 阅读 · 0 评论 -
Java路径拼接
介绍Java中文件夹路径拼接的方式,第一种采用File.separator;第二种采用new File(parent,child)第一种方式:参考文章:JAVA路径拼接File.separator - 代码先锋网使用方法如下:Spring path = 'image' + File.separator + 'small.jpg'第二种方式:参考文章:java中路径字符串的拼接_smallfishoil的博客-CSDN博客_java路径拼接使用java.原创 2022-05-08 11:52:00 · 10179 阅读 · 0 评论 -
java中自动递增和递减(i++)
概念前缀递增(++i):先执行运算,再生成值。 后缀递增(i++) : 先生成值,再执行运算。示例概念说的多了反而糊涂,不如直接看代码来的直接。 package com.hjp.test;/** * 自动递增 i++ * @ClassName: AutoInc * @author: huangjp * @date: 2017年3月7日 下午3:57:08...原创 2018-08-26 13:27:58 · 3727 阅读 · 0 评论 -
Java笔记---别名现象
在Java学习的过程中,我们一直以为(其实是我一直以为)赋值符号“=”只是简单地将右边的值传递给左边的值,左边的值变成了右边的值,而右边的值却没有因此而做任何改变。 其实在对于基本数据类型的赋值当中确实是这样的,但是Java中的数据类型却不仅仅是那几种数据类型,而是还包括了“引用的数据类型”,于是在为对象赋值的时候,情况却发生了不一样的变化。 “别名现象所发生的情况...转载 2018-08-26 12:56:44 · 248 阅读 · 0 评论 -
理解Java的static import静态引入机制
J2SE 1.5里引入了“Static Import”机制,借助这一机制,可以用略掉所在的类或接口名的方式,来使用静态成员。本文介绍这一机制的使用方法,以及使用过程中的注意事项。 在Java程序中,是不允许定义独立的函数和常量(当然,准确的说,只是被final修饰、只能赋值一次的变量)的。即使从它们本身的功能来看,完全不需要依附于什么东西,也要找个类或接口作为挂靠单位才行(在类里可以挂...转载 2018-08-26 12:16:03 · 322 阅读 · 0 评论 -
字符和字节的区别
(一)“字节”的定义字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。 (二)“字符”的定义字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。 (三)“字节”与“字符”它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同编码里,字符和字节的对应关系不同:①...原创 2018-07-31 15:45:54 · 1812 阅读 · 0 评论 -
javaweb学习总结(七)——HttpServletResponse对象(一)
javaweb学习总结(七)——HttpServletResponse对象(一)(转)(每天都会更新至少一篇以上,有兴趣的可以关注)转载自孤傲苍狼 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要...转载 2018-07-31 09:52:31 · 189 阅读 · 0 评论 -
关于java中输出流flush()方法
在java开发中,有时我们会进行流的操作,所以可能会经常遇到这样一段代码out.flush();out.close();有时我们只是大概看懂这些,却不知道其中的原理性东西,下面就来理解一下:flush()这个函数是清空的意思,用于清空缓冲区的数据流,进行流的操作时,数据先被读到内存中,然后再用数据写到文件中,那么当你数据读完时,我们如果这时调用close()方法关闭读写流,这时就...转载 2018-07-31 09:11:32 · 1468 阅读 · 0 评论 -
Java获取当前时间的年月日时分秒方法
相关内容:package com.ob; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; public class DateTest { public static void main(String...转载 2018-07-15 02:23:45 · 53643 阅读 · 0 评论 -
在java类中定义常量的三中方法
主要讲解如何在java类中定义常量:/** * Method One */interface ConstantInterface { String SUNDAY = "SUNDAY"; String MONDAY = "MONDAY"; String TUESDAY = "TUESDAY"; String WEDNESDAY = "WEDNESDAY"; ...转载 2018-07-15 00:00:16 · 9184 阅读 · 1 评论 -
Project facet Java version 1.8 is not supported解决记录
一看知道是因为jdk版本不一致所导致,如何解决?方法一:选中项目 Properties , 选择 Project Facets,右击选择 Java , Change Version 方法二:在 项目的目录下有一个.settings的文件夹,该文件夹下有一个org.eclipse.wst.common.project.facet.core.xml文件,内容如下;<?xml...转载 2018-07-18 19:20:50 · 180 阅读 · 0 评论 -
修改eclipse工程jdk版本需要动用三个地方
修改eclipse工程jdk版本:在eclipse中项目jdk版本不匹配的时候需要修改项目工程的jdk版本,但是网上的一些版本修改不是很完全,经过一些摸索之后,参考总结了我在项目中的具体配置实践问题: 修改eclipse中的项目jdk版本;解决方法: 要修改的地方有三个:1、Java compiler(应该是项目选择的jdk编译器吧):有两种方式:选择整个eclipse的编译...转载 2018-07-18 10:57:29 · 1622 阅读 · 0 评论 -
解决:Connections could not be acquired from the underlying database!
问题现场如下;Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could nota...转载 2018-07-11 21:47:47 · 789 阅读 · 0 评论 -
关于NoSuchBeanDefinitionException: No bean named 'xxxx' is defined问题解决
org.springframework.beans.factory.BeanInitializationException: Could not process key 'jdbc.url' in PropertyOverrideConfigurer;nested exception is org.springframework.beans.factory.NoSuchBeanDefinition...转载 2018-07-11 21:44:06 · 4858 阅读 · 1 评论 -
如何测试java中对象的等价性
我们都知道,基本数据类型的比较我们一般用关系运算符 “==”以及”!=“。当然,这两个运算符也适用于所有对象,然而比较的结果却并不一定与预想的结果相符。 下面看一串代码:public class Equals { public static void main(String[] args) { Integer a1 = new Integer(12); ...转载 2018-08-26 13:50:48 · 199 阅读 · 0 评论 -
Java中Entity实体类的写作规范
在日常的Java项目开发中,entity(实体类)是必不可少的,它们一般都有很多的属性,并有相应的setter和getter方法。entity(实体类)的作用一般是和数据表做映射。所以快速写出规范的entity(实体类)是java开发中一项必不可少的技能。 在项目中写实体类一般遵循下面的规范: 1、根据你的设计,定义一组你需要的私有属性。 2、根据这些属性,创建它们的se...转载 2018-09-20 14:18:44 · 726 阅读 · 0 评论 -
Object转BigDecimal类型
主要讲述如何将Object类型转化成BigDecimal:/** * Object转BigDecimal类型 * * @param value 要转的object类型 * @return 转成的BigDecimal类型数据 */ public static BigDecimal getBigDecimal(Object value)...转载 2018-12-24 19:11:25 · 11666 阅读 · 0 评论 -
linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
linux复制指定目录下的全部文件到另一个目录中复制指定目录下的全部文件到另一个目录中文件及目录的复制是经常要用到的。linux下进行复制的命令为cp。假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了如果dir2目录不存在,则可以直接使用cp -r dir1 dir2即可。如果dir2目录已存在,则需要使用cp -r dir1/. ...转载 2018-12-29 17:53:45 · 12323 阅读 · 0 评论 -
删除表数据drop、truncate和delete的用法
说到删除表数据的关键字,大家记得最多的可能就是delete了然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了现在来介绍另外两个兄弟,都是删除表数据的,其实也是很容易理解的老大------drop出没场合:drop table tb --tb表示数据表的名字,下同绝招:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表...转载 2018-12-29 14:10:13 · 310 阅读 · 0 评论 -
浅谈ftp和sftp的区别
一,适用场景 我们平时习惯了使用FTP来上传下载文件,尤其是很多Linux的环境下,我们一般都会通过第三方的SSH工具连接到Linux的,但是当我们需要传输文件到Linux的服务器当中,很多人习惯用FTP来传输,其实Linux的默认是不提供FTP的,需要你额外安装FTP服务器。而且FTP服务器端会占用一定的VPS服务器资源。其实笔者更建议使用SFTP代替FTP。 主要因为:一,可以不用...转载 2018-11-26 11:38:38 · 61143 阅读 · 3 评论 -
关于Java的File.separator
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“没有这样的文件或指导”的异常。 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:文件file1 =新文件(“C:\ tmp \ test.txt”); 在Linux下则是这样的:文件file2 =新文件(“/tmp/test.txt”);如果要考虑...转载 2018-11-26 11:25:35 · 181 阅读 · 0 评论 -
解决:Could not parse response code.Server Reply: SSH-2.0-OpenSSH_5.3
解决:org.apache.commons.net.MalformedServerReplyException: Could not parse response code.Server Reply: SSH-2.0-OpenSSH_5.3当使用org.apache.commons.net.ftp.FTPClient通过协议SSH2进行SFTP连接时报如上错误,原因是它不支持这种方式的连接(使...转载 2018-11-26 11:14:30 · 15444 阅读 · 7 评论 -
FTP主动模式和被动模式以及java的连接FTP模式设置
FTP主动模式和被动模式以及java的连接FTP模式设置(1)PORT(主动模式)PORT中文称为主动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要列表列表或者读取数据时,客户端随机开放一个端口(1024以上) ,发送PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口; FTP服务器收到PORT主动模式命令和端口号后,通过服务器...转载 2018-11-26 11:11:51 · 5244 阅读 · 1 评论 -
为什么simpleDateFormat.format(null)会报空指针异常
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");sdf.format(null);在第二行会报空指针异常,为什么呢?我们进入源码看一下就知道了。第一步public final String format(Date date) { return format(date,...转载 2018-11-21 13:00:06 · 2196 阅读 · 0 评论 -
(String)、toString、String.valueOf的区别
在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。 常用的方法有(String)要转换的对象,Object#toString(),String.valueOf(Object)等。 (String) 这是标准的类型转换,将object转成String类型的值。使用这种方法时,需要注意的是类型必须能转成Stri...转载 2018-11-21 09:09:41 · 215 阅读 · 0 评论 -
substring的常用两个方法
概述:(1)substring是用来截取字符串的,根据参数的个数不同,方法含义也不同;(2)substring(0,2)这个只含开头不含结尾,因此截取是截取两个字符,从第一个到第二个字符,不包含第三个。(3)substring(2)这个表示截掉前两个,得到后边的新字符串。详细:...原创 2018-10-24 22:00:27 · 118886 阅读 · 2 评论 -
HashMap和TreeMap的遍历
概述:(1)HashMap遍历是没有顺序的,TreeMap的遍历是有顺序的;(2)针对Map的遍历都要转化成Map.Entry对象,通过方法Map.entrySet()得到该对象Set(3)通过迭代器Iterator将Map遍历;(4)详细参考如下:import java.util.*;import java.util.Map.Entry;public class ...原创 2018-10-24 21:52:11 · 842 阅读 · 0 评论 -
TreeMap的排序
一、主要讲述TreeMap的使用方法:TreeMap有默认排序和自定义排序两种存储方式;默认排序是根据字典顺序进行升序排列;自定义排序需要实现Comparator接口;public class SortDemo { public static void main(String[] args) { System.out.println("---------...转载 2018-10-24 21:41:02 · 2442 阅读 · 0 评论 -
java中Properties对象的使用
Properties是Java中jdk自带的一个对象import java.util.Properties;我们可以直接将后缀为properties的文件变为Properties对象,然后通过Porperties对象中的public synchronized Object setProperty(String key, String value)public String getProperty(...转载 2018-07-03 19:45:49 · 5888 阅读 · 0 评论 -
SocketTimeoutException和connectTimeoutException的区别
ConnectException 表示服务器请求超时;SocketTimeoutException表示服务器响应的超时可以在代码里设置 //请求超时 httpclient.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,reqTimeout); //响应超时 httpc...原创 2018-06-28 00:02:55 · 21874 阅读 · 1 评论 -
HttpClient 中的三个超时详解
1.HttpClient中有三个超时时间设置:连接池获取可用连接超时、连接超时、响应超时(读取数据超时)1.1从连接池中获取可用连接超时:HttpClient中的要用连接时尝试从连接池中获取,若是在等待了一定的时间后还没有获取到可用连接(比如连接池中没有空闲连接了)则会抛出获取连接超时异常。1.2连接超时: 指的是连接目标url的连接超时时间,即客服端发送请求到与目标url建立起连接的最大时间。如...原创 2018-06-27 23:41:14 · 5567 阅读 · 0 评论 -
static静态变量的生命周期
静态变量的类型说明符是static。静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。对于自动变量,它属于动态存储方式。但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。由此看来,一个变量可由static进行再说明,...转载 2018-06-17 18:13:01 · 15467 阅读 · 1 评论 -
深入理解java的容器
1.容器定义:将相似的类的属性放到一起,就组成一个容器,也称为集合。2.容器和数组的关系:(1)数组长度不太容易扩展,容器随着元素的增加而增加;(2)数组可以存放基本数据类型和引用数据类型,容器只能存放引用数据类型;(3)容器不是数组,不能通过下标获取元素;(4)数组都可以通过ArrayList容器来实现所有的功能;ArrayList也可以通过toArray()方法转化成数组;package co...转载 2018-06-09 23:01:28 · 221 阅读 · 0 评论 -
遍历hashMap的键值对
package com.dbzhang.demo;import java.util.HashMap;import java.util.Iterator;import java.util.Set;public class App04 { /** * 该方法主要是用来讲解iterator接口的作用; * 如何去遍历hashMap容器:通过Set<>hashM...原创 2018-06-09 22:30:54 · 2811 阅读 · 0 评论 -
运行时异常和一般异常的区别
Throwable 是所有 Java 程序中错误处理的父类 ,有两种资类: Error 和 Exception 。 Error :表示由 JVM 所侦测到的无法预期的错误,由于这是属于 JVM 层次的严重错误 ,导致 JVM 无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Exception :表示可恢复的例外,这是可捕捉到的。Java 提供了两类主要的异常...转载 2018-06-09 17:55:33 · 1980 阅读 · 0 评论 -
java中Random()函数的简介
java中含有两种Random()方法:其中一种是java.lang.Math.Random,另一种是java.util.Random。1.java.lang.Math.Random;调用这个方法能够返回double型的值:[0.0,1.0)左闭右开,是随机生成的:package IO;import java.util.Random;public class TestRandom { ...原创 2018-06-16 17:24:56 · 244 阅读 · 0 评论 -
java中main方法的作用
main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main,在按住Alt+/的方式快速创建main方法。可以说main方法是最简单的方法,因为main方法几乎是固定不变得,除了String[] args可以写成String args[],以及args的名称可以改变外,其它所有均不...转载 2018-06-16 15:51:56 · 24094 阅读 · 0 评论 -
cmd中,执行javac和java的区别
1.javac命令表示编译,将java源文件编译成字节码文件:class;例如:javac hello.java 将生成hello.class文件2.java命令表示解释和运行字节码文件:例如:java hello原创 2018-06-16 15:22:33 · 1761 阅读 · 0 评论 -
java中静态块、类的属性变量ClassA classA = new ClassA(); 、构造函数的执行顺序
1.先看如下程序,判断执行的 结果:package com.dbzhang.demo;/** * 验证类在被初始化的时候的执行顺序 * 静态代码块:static{...} * 类的属性变量:ClassA classA = new ClassA(); * 构造方法:public classname(){} * @author zdb 2018-06-15 * */public cl...转载 2018-06-15 13:22:06 · 4479 阅读 · 0 评论 -
java的运行原理
编译型语言 VS 解释性语言:编译型语言是通过专门的编译器,将高级语言【一次性翻译成】可被平台(如OS操作系统)执行的机器码,编译一次,脱离开发环境可独立运行,故效率高;但对编译器严重依赖,而不同操作系统所使用的编译器是各不相同的,所以造成了编译型语言可移植性差的特点。同样的,解释型语言也有专门的解释器,将原程序解释成特定的平台可执行文件,不同的是,解释型语言不会进行整体的编译,而是把编译和解...转载 2018-06-15 01:08:36 · 7867 阅读 · 0 评论