java基础
文章平均质量分 59
会飞地太阳
Life begins at the end of your comfort zone
展开
-
Mock测试(接口测试)
一、关于Mock测试1、什么是Mock测试Mock 测试就是在测试过程中,对于某些不容易构造或者不容易获取的比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。2、为什么要进行Mock测试Mock是为了解决不同的单元之间由于耦合而难于开发、测试的问题。所以,Mock既能出现在单元测试中,也会出现在集成测试、系统测试过程中。Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟原创 2021-04-28 20:50:02 · 1828 阅读 · 0 评论 -
java中变量.equals(值)与值.equals(变量)的区别
String a ="a""a".equals(a); 这是对的。 String a = null;a.equals("a"); 这就错了 。一般是防止 传过来的变量是NULL值 而报异常。所以我们一般会使用 值.equals(变量) 这种方式原创 2021-04-24 10:04:16 · 233 阅读 · 0 评论 -
BeanUtils.copyProperties的用法
BeanUtils它提供了对java反射和自省API的包装。它里面还有很多工具类,这里我们介绍一下copyProperties。场景:我们如果有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm,传统的方式对属性逐个赋值:user.setName(tempUser.getName());user.setAge(tempUser.getAge());如果按照上面那种赋值方式,是非常麻烦的,而且代码梁可以估计会很多.原创 2021-04-20 22:34:53 · 2074 阅读 · 3 评论 -
java中的bean对应的意义(PO,DO,VO,TO,QO,BO,DAO,DTO,POJO)
ORM 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在 O/R Mapping 的世界里,有两个基本但重要的东东需要了解,即 VO , PO 。VO ,值对象(Value Object)通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已。但应是抽象出的业务对象 , 可以和表对应 , 也可以不 , 这根据业务的需要 。用 new 关键字创建,由 GC 回收的。PO ,持久对象(Persise原创 2021-04-18 13:33:32 · 573 阅读 · 0 评论 -
java对象和json常见的互转
在之前的博客中有介绍到如何把HttpEntity转为json:https://blog.csdn.net/duan196_118/article/details/107353704。今天来总结下java对象与json之间的互转。项目中,使用缓存来减少服务器的压力,常常会把java对象转为json进行存储,读取的时候再转为java对象,便于前台的展示。当然这里只是其中一个常见的场景。高手可以忽略,不喜勿喷!!!1.把java对象转为json字符串 BigPcEntry bigPcE原创 2020-12-08 15:30:07 · 313 阅读 · 0 评论 -
StringUtils.isBlank()的使用
在校验一个String类型的变量是否为空时,可以使用StringUtils.isBlank方法,它可以校验三种情况:是否为null、是否为""、是否为空字符串(引号中间有空格)" "、制表符、换行符、换页符和回车。StringUtils.isBlank(str); 当str不为空时,返回值为false。下面是该方法的源码:public static boolean isBlank(CharSequence cs) { int strLen; if (cs !..原创 2020-12-02 14:11:59 · 39685 阅读 · 5 评论 -
浅谈Java---Socket
socket:https://blog.csdn.net/qq_16949707/article/details/79042455原创 2020-08-19 11:43:43 · 399 阅读 · 0 评论 -
BigDecimal总结
在最近的项目中,由于负责到了支付模块,就少不了使用BigDecimal。奈何这些Java基础都随着时光的流逝淡出了记忆,特意写篇总结博客方便使用和回顾,高手可以忽略。 首先无论是float还是double都是浮点数,在进行计算时会损失一定的精度。但是在项目中,特别是金融项目,涉及到金额的计算都必须十分精确,在Java.math包中提供了BigDecimal,用来对于超过16位有效的数进行精确的运算。我们可以调用BigDecimal的相应方法来进行加减乘除,方法中的参数也必须是BigDe...原创 2020-08-18 16:33:42 · 931 阅读 · 0 评论 -
域名与IP的联系与区别
转载自:https://blog.csdn.net/zhangliangzi/article/details/50617374我们也知道每一台机都有一个唯一ip地址,特别难记,所以出现了今天的DNS(域名)当我们的计算机想要和一个远程机器连接时,我们可以申请连接该机器ip地址下的DNS,例如:www.baidu.com。连接的时...转载 2020-07-30 09:36:01 · 1559 阅读 · 0 评论 -
Java实现MD5加密
MD5加密是一种常见的加密方式,经常用在保存用户密码和关键信息上。MD5加密的特点主要有以下几点: 1、针对不同长度待加密的数据、字符串等等,其都可以返回一个固定长度的MD5加密字符串。(通常32位的16进制字符串); 2、其加密过程几乎不可逆,除非维护一个庞大的Key-Value数据库来进行碰撞破解,否则几乎无法解开。 3、运算简便,且可实现方式多样,通过一定的处理方式也可以避免碰撞算法的破解。 4、对于一个固定的字符串。数字等等,MD5加密后的字符串是固定的,也就是说不管MD5加密多原创 2020-07-08 17:46:02 · 411 阅读 · 0 评论 -
java计算两个日期间相差多少天多少小时多少分多少秒
1、参数为日期类型参数/*** @Description: TODO(计算两个日期【日期类型】之间的时间距离) * @param @param sdate* @param @param bdate* @param @return 设定文件 * @throws*/public ...转载 2020-06-23 13:04:06 · 1634 阅读 · 0 评论 -
String.format()的详细用法
问题在开发的时候一段字符串的中间某一部分是需要可变的 比如一个Textview需要显示”XXX用户来自 上海 年龄 21 性别 男” 其中的 XXX 是用户名 每个用户也是不一样的 地区 上海 为可变的string数据 年龄 21 为可变的int数据 性...转载 2020-05-24 13:40:51 · 230 阅读 · 0 评论 -
maven的安装与Eclipse配置maven环境的详细步骤(完整版)
一 maven和maven仓库的简单介绍:1.1 maven的介绍 Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven 是一个项目管理工具,可以对 Java 项目进行构建、jar包下载,依赖管理。...原创 2020-02-13 18:52:25 · 1248 阅读 · 3 评论 -
java集合详解
学java的小伙伴们都知道,当我需要将一些相同结构的个体整合在一起时,就可以考虑使用集合了。集合和数组各有什么特点呢?集合和数组的相似之处:都可以储存多个对象,对外作为一个整体存在。集合和数组的区别: 1、集合可以存储键值对映射关系数据,数组不可以。 2、集合的长度可以动态改变,数组的长度运行时固定不可变。 3、集合存储的数据为引用类型数据,...原创 2020-01-10 20:55:48 · 237 阅读 · 0 评论 -
try、catch、finally中有return语句时程序的执行顺序
1. try代码块中包含return语句,finally代码块中不包含return语句。public class Test { public static void main(String[] args) { System.out.println(test()); } static int test() { int x=1; try { System.out.prin...原创 2020-03-13 17:36:05 · 592 阅读 · 0 评论 -
SVN使用的注意事项
SVN使用步骤: 检出 checkout 更新 update 冲突 confilicte 添加 Add(添加项目时使用) 填写SVN日志 提交 commit 使用步骤注意:update ----> add ----> 写注释 ----> commit,是一个完整的事务。一. 提交之前必须更新,因为在你提交之前你并...原创 2020-03-06 11:34:25 · 840 阅读 · 0 评论 -
java是值传递还是引用传递
大家都知道在java中只有值传递,关于这个问题自己也是懵懵懂懂,不写项目终于可以整理自己想要梳理的东西啦~~参数的传递分为两种:基本类型,引用类型。基本数据类型相信大家都没有什么问题,基本类型作为参数传递时在一个方法栈中开辟了一块新内存,拷贝原来的数据值,所以无论我们如何修改,原来的数据值不会受到任何影响。如:public class TestNum { public...原创 2020-01-27 20:06:48 · 77 阅读 · 0 评论 -
windows常用快捷键和Dos命令
windows快捷键Windows+D:显示桌面Windows+M:最小化所有窗口Windows+L :锁屏Windows+‘+’ :屏幕放大Windows+P :投影Windows+Shift+M:还原最小化的窗口Windows+E:开启“资源管理器”Windows+F:查找文件或文件夹Windows+CTRL+ F:查找电脑Windows+F1:显示 Windows “帮助...原创 2020-01-18 00:44:19 · 186 阅读 · 0 评论 -
跨域请求及解决方案
跨域问题1.1什么是跨域跨域指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。1.2同源策略同源策略是一种约定,它是浏览器中最核心也是最基本的安全功能,请求的URL地址,必须和浏览器上的URL地址处于同域上,也就是同域名/端口/协议。所谓同源是指域名,协议,端口均相同,只要有一个不同,就是跨域。请注意:localhost和127....原创 2020-01-05 11:57:16 · 283 阅读 · 0 评论 -
java异常体系及异常处理
1. java异常的基础知识 首先介绍java的异常体系结构(来自网络)Throwable 类是 Java 语言中所有错误或异常的超类。Error是程序无法处理的错误,表示运行应用程序时出现的比较严重的问题。表示代码运行时JVM出现的问题。包括动态链接失败,虚拟机错误等。程序对其不做处理。而Exception是程序本身可以处理的异常,又分为编译时异常和运行时异常。编译时异常是编辑...原创 2020-01-08 20:55:38 · 150 阅读 · 0 评论 -
java的数据类型
java是强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。java的数据类型分为两大类: 基本数据类型(primitive type) 引用数据类型(reference type)基本数据类型1.boolean布尔类型,它比较特殊,布尔类型只允许存储true(真)或者false(假),不可以用0或者非0表示。可以使用 1 bi...原创 2020-01-18 23:38:25 · 158 阅读 · 0 评论 -
java数组总结
数组是存储同一种数据类型的容器。索引从零开始,最大索引为长度减一。定义格式: 1. 数据类型 [] 数组名;(推荐使用) 2. 数据类型 数组名 [];数组的特点1.数组的长度是确定的,数组一旦创建,它的大小是不可以改变的。2.数组中的元素必须是相同类型,不允许出现混合类型。3.数组中的可以是任何数据类型,包括基本数据类型和引用数据类型。4.数组没有被初...原创 2020-01-26 16:14:40 · 139 阅读 · 0 评论 -
http协议与https协议
对http的第一印象是“不安全”,https是“安全的”。它们有着什么样的特点与区别呢?特做出总结。。。Http与https的介绍http:超文本传输协议,是一个基于请求与响应、无状态的、应用层的协议。常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的www文件都必须遵循这个标准。设计http的初衷是为了提供一种发布和接受html页面的方法。其默认端口为80.h...原创 2020-03-02 15:39:25 · 148 阅读 · 0 评论 -
java中的关键字
java中的关键字如下图所示:访问控制 private protected public 类、方法和变量修饰符 abstract class extends final implements interface native new static strictfp tr...原创 2020-03-02 14:36:10 · 162 阅读 · 0 评论 -
java基础经典编程题
1.有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。public static void getStr(String str) { //各种中字符串 StringBuilder hanziStr = new StringBuilder(); StringBuilder enStr = new StringBuilder(); StringB...原创 2020-02-29 19:48:02 · 195 阅读 · 0 评论 -
Integer与int的区别
1.int是java提供的8种原始数据类型之一。Java为每个原始类型提供了包装类,Integer是java为int提供的包装类。2.int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null...原创 2020-02-26 13:32:01 · 129 阅读 · 0 评论 -
谈谈 java 内部类
在java中可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。分为四种:成员内部类、局部内部类、匿名内部类和静态内部类。1. 成员内部类...原创 2020-02-25 11:45:07 · 164 阅读 · 0 评论 -
URL和URI的区别
URL (uniform resource locator):统一资源定位符,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来。如人的名字。URI(uniform resource identifier): 统一资源标识符,用来唯一的标识一个资源。现实当中名字当然是会重复的,所以身份证号才是URI,通过身...原创 2020-02-18 10:50:02 · 179 阅读 · 0 评论 -
java 中的native 关键字
native关键字在之前的博客中提起过,在看java源码时多次看到native的身影,更加好奇特在此做一个简单的总结。1. native用来修饰method,表明java的作用范围达不到了,回去调用底层c语言的库。用native修饰的方法,在虚拟机里都有一个与这个java方法同名的函数帮助java做想做的事情。2. native关键字说明这个方法是原生函数,这个方法是用c/c++语言实现...原创 2020-02-08 11:55:44 · 279 阅读 · 0 评论 -
jdk,jre 与 jvm 的联系与区别
对于刚接触java的小伙伴们,对jdk,jre 与 jvm 的联系与区别可能一头雾水,很多java程序员在写了很多代码后,对于此问题也不知所云。本文就做一个回顾总结,希望可以帮到小伙伴们。简单来说就是: JDK包含jre,jre包含jvm。jre只是提供了java的运行环境,只能运行class而没有编译功能,而JDK是用于java程序的开发,它的功能比较多。jdk安装成功后,打开...原创 2020-02-07 15:07:12 · 670 阅读 · 0 评论 -
面向对象设计需要遵循的七大原则
开闭原则:对外开放,对修改关闭。里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立。依赖倒置原则:要面向接口编程,不要面向实现编程。单一职责原则:控制类的粒度大小,将对象解耦,提高其内聚性。接口隔离原则:要为各个类建立它们需要的专用接口。迪米特法则:只与你的直接朋友朋友交谈,不跟“陌生人”说话。合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承...原创 2020-02-06 21:44:57 · 819 阅读 · 0 评论 -
防止form表单提交的几种方式
1. 背景介绍在开发项目中肯可能会出现如下情况: 1. 用户的失误操作,多次点击表单提交按钮 2. 由于网速等原因造成页面卡顿,用户重复刷新提交页面 3. 黑客或恶意用户使用postman等工具重复恶意提交表单....这些情况都会导致表单的重复提交,导致数据重复,增加服务器的压力,甚至会造成服务器宕机,因此要有效防止表单重复提交非常必要。2. 解...原创 2020-02-04 15:55:53 · 3238 阅读 · 0 评论 -
Http常见状态码
HTTP状态码(HTTP Status Code)是用来表示Web服务器响应HTTP请求状态的数字代码。每当客户端向Web服务器发送一个HTTP请求时,Web服务器都会返回一个状态响应代码。100:客户端继续其请求101:切换协议,服务器根据客户端的请求切换协议,并且只能切换到更改级的协议。200:请求成功。204:请求成功,但无资源可以返回301:永久重定向302,307...原创 2020-02-03 15:35:25 · 278 阅读 · 0 评论 -
Http中的get与post请求的区别
get与post最直观的区别数据存放位置:1.get是把请求的数据放到url最后2.post是把数据放在header头中安全性:1.get把数据显性暴露在外面,不安全但执行效率却比post 方法好2.post稍微隐藏下,不会被大型爬虫直接解包,相对安全但也不安全表单的提交默认是用get,在进行文件上传时只能用post而不能是get数据量:1.get传送数据量较小,g...原创 2020-02-03 15:00:24 · 332 阅读 · 0 评论 -
Java --- Scanner类
java.util.scanner是java5的新特性通过Scanner类来获取用户的输入。创建Scanner对象: Scanner s = new Scanner(System.in);常用的方法:1. 获取输入的字符串 next()和nextLine()1.1 next()方法接收字符串public static void main(String[] args) { ...原创 2020-02-02 11:32:17 · 181 阅读 · 0 评论 -
内存溢出与内存泄漏
内存泄漏(memory leak):是指应用程序在申请内存后,无法释放已经申请的内存空间,一次内存泄漏泄漏的危害可以忽略。但是如果任其发展最终会导致内存溢出。如读取文件后流要进行及时的关闭以及对数据库连接的释放。内存溢出(out of memory):是指应用程序在申请内存时,没有足够的内存空间供其使用。如我们在项目中对于大批量数据的导入,采用分段批量提交的方式,jvm内存参数是需要根据服务器...原创 2020-02-02 10:25:43 · 453 阅读 · 0 评论 -
String,Sringbuffer , Stringbuilder的区别
java.lang.String ---String字符串常量在java中字符串属于对象,String类用来创建和操作字符串(它底层被final修饰的类)。但是String的值是不可变的,每次String的操作都会生成新的String对象,这样效率低下还浪费有限的内存空间。String简单总结①String不可变的字符序列②new的对象,一定是创建了对象,在堆中开辟空间。③直接...原创 2020-02-01 21:34:30 · 282 阅读 · 0 评论 -
java Math类
Math为于java.lang包下,该类类封装了很多与数学有关的属性和方法,方法介绍:随机数:static double random() 返回带正号的 double 值,[0,1)之间的随机数。返回小的整数值:static double floor(double a) 返回最大的(最接近正无穷大)double 值,该值小于或等于参数,并且等于某个整数。返回大的整数值:...原创 2020-02-01 15:54:18 · 187 阅读 · 0 评论 -
谈谈 java中的位运算符与逻辑运算符
java中的位运算符位运算符 说明 & 与(AND)运算符,对两个整型操作数中对应位执行布尔代数,两个位都为1时输出1,否则0 | 或(OR)运算符,对两个整型操作数中对应位执行布尔代数,两个位中只要有一个为1就输出1,否则为0 ^ 异或(XOR)运算符,对两个整型操作数中对应位执行布尔代数,两个位相等则为0,不相等则为1 ~ 非(NOT)...原创 2020-02-01 14:43:31 · 227 阅读 · 0 评论 -
while与do while 的区别
while是先判断在执行。int i=10;while(i<10){ System.err.println(i); i++;}//结果是什么都不打印,最终i=10do-while是先执行再判断。int i=10;do{ System.err.println(i); i++;}while(i<10);//打印的是10,最终i=11;两者的区别:...原创 2020-01-31 22:04:58 · 497 阅读 · 0 评论