自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

独一无二

勿忘初心~方得始终

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 解决nginx不能转发带有下划线的header

现象:刚开始只有一台服务器,前端请求时在header中添加了 tmp_token,后台也可以获取的到,完全没有问题。但是后来由于项目的需要,又加了一台服务器,并用nginx 进行反向代理,结果发现tmp_token不能够发到后台。当时我就在本地装了一个nginx,把nginx的日志调到debug模式,结果发现了下面的提示:client sent invalid header line: “t...

2019-09-02 19:43:58 5170 2

原创 transient关键字有何作用

使用对象流保存对象时,将对象的全部信息都保存了,但是有些信息是不希望保存,如密码,该如何避免该信息的保存。使用transient关键字修饰的属性,在保存对象时,该属性并不会被保存。下面的程序定义了一个Usere类,它包含用户名,密码、年龄,其中密码和年龄被transient关键字修饰,此外,该类还实现了 Serializable 接口。public class User implemen...

2019-01-24 20:59:53 8636

原创 String 与 StringBuilder的区别是什么

对于创建成功的字符串对象,其长度是固定的,内容不能被改变和编译,虽然使用 + 号可以达到附加新字符串的作用,但 + 会产生一个新的String实例, 在内存中创建新的字符串对象,如果重复的对字符串进行修改,将会加大系统的开销,而StringBuilder对象是一个可变的字符序列,大大提高了频繁增加字符串的效率。与StringBuilder类相似的还有StringBuffer类,StringBu...

2019-01-23 20:06:32 2992

原创 表达式 "3 + 5 = " + 3 + 5 的返回值是什么?

首先,+ 这个符号即是数学当中的加法运算符,也是字符串连接运算符,使用 “+”与字符串进行连接的任何类型的数据都会被转换为字符串进行连接,而不是执行数学运算。"3 + 5 = " + 3 已经把 3 作为字符串进行连接了,所以在执行 “+5” 的时候也是执行字符串连接,所以,该表达式的返回值是 3+5=35;加法运算符在字符串和字符串之间、数值和数组之间运算的结果是不一样的,尤其是字符串变量与...

2019-01-23 12:25:59 2188

原创 获取Class对象对应类的构造方法

新建一个Student类,如下:public class Student { private String name; private String gender; public Student(){ System.out.println("公有无参构造函数"); } protected Student(String name){ ...

2019-01-16 21:07:37 917 2

原创 如何创建Class对象?

在java中,要获得类的Class对象,可以通过以下三种方式来实现。第一种是通过Class类的forName()方法,如进行数据库操作时就是通过这种方式加载数据库驱动的。在使用Class类的forName()方法时,需要为其传递一个字符串实参,该字符串实参就是类的完整路径,该方法的返回值就是字符串实参所所指定类的一个Class对象,如通过Class.forName(“java.lang.S...

2019-01-15 20:19:48 4280 1

原创 有两种方式可以实现深克隆,其效率如何?

在java中,提供了两种实现深克隆的方法,一种是采用序列化的方式实现,另一种是采用依次克隆各个可变的引用类型域的方式实现,但是序列化的效率并不理想。下面通过简单的例子进行对比:编写类worker,在类中定义了两个域,name和age。在构造方法中初始化这两个域。并提供了get()和set()方法用于获得和修改这两个域。重写了toString()方便对象的输出,重写了clone()方法使用父类...

2019-01-12 15:54:03 1709 1

原创 java中如何使用 clone() 方法克隆对象?

在程序开发中,有时可能好会遇到下列情况:已经存在一个对象A,现在需要一个与对象A完全相同的B对象,并对B对象的值进行修改,但是A对象的原有的属性值不能改变。这时,如果使用java提供的对象赋值语句,当修改B对象值后,A对象的值也会被修改。那么应该如何实现创建一个和对象A完全相同的对象B,而且修改对象B时,对象A的属性值不被改变呢?要实现这一功能,可以使用Object类中的clone方法。cl...

2019-01-09 20:09:27 16997 4

原创 final、finally、finalize有什么区别?

final表示一个修饰符 修饰一个类,该类不能被继承。 修饰一个方法,该方法不能被重写。 修饰一个变量,该变量一旦赋值后不能修改。finally用于异常处理 它用于修饰一个代码块,即使前面的代码处理异常,该代码块中的代码也会执行。通常用于释放资源finalize表示Object类中的定义的一个方法,它可以重写,用于回收资源。...

2019-01-08 19:46:03 465 2

原创 如何进行数组查找

使用java.util.Arrays类的binarySearch()方法可以实现数组的查找。binarySearch(Object[] a, Object key)a:要搜索的数组。key :要搜索的值。如果key包含在数组中,则返回搜索值的索引;否则,返回 -1;@Testpublic void test16(){ String arr[] = new String[]{"数...

2019-01-04 20:59:55 2293

原创 数组元素默认的初始值都是什么?

在java中,如果为数组分配了内存空间,那么系统会为数组元素指定默认值,该默认值与数组的数据类型有关。byte 型数组元素默认初始值是 0 。short 型数组元素的默认初始值是 0 。int 型数组元素的默认初始值是 0 。long 型数组元素的默认初始值是 0L。float 型数组元素的默认初始值是 0.0f。double 型数组元素的默认初始值是 0.0d。char 型数组元素...

2019-01-04 20:26:26 24649

原创 初始化一维数组的方式有哪些?

第一种:int arr[] = new int[]{34,25,32};int arr2[] = {34,25,32};第二种:int arr[] = new int[3]; // 为数组分配内存arr[0] = 2;arr[1] = 3;arr[2] = 4;使用new关键字声明数组并为其分配内存后,系统会使用数组的数据类型的默认值为每一个存储单元进行默认初始化,也就是将每一...

2019-01-04 20:18:04 9705

原创 两个整数相乘的结果一定正确吗?

问题:在我们编写程序时 ,经常需要进行各种计算,例如:将两个int型整数的乘积,赋值给一个 long 型变量,请问这种计算结果一定正确吗?当为一个 long 型变量赋值一个整数常量时,如果这个整数超过了 int 的取值范围,程序就会出现编译错误,但是有一种情况程序是不会出错的,就是将多个 int 型数据进行算术运算的结果 赋值 给 long 型变量,即使这个运算结果超出了 int 的范围,程序也...

2019-01-03 21:21:58 2040

原创 复合赋值运算符 += 计算的结果一定正确吗?

接下来是计算 s1 和 s2 的 和值,会发现第一个方法的计算结果为负数,第二个是正确的。@Testpublic void test13(){ short s1 = 6000; int s2 = 50000; s1+=s2; System.out.println(s1);// -9536} 但是把代码稍微修改下结果就正确了 @Test public ...

2019-01-03 20:32:25 726

原创 不使用条件和循环语句如何求 1 + 2 +... ... + n 的值?

利用 递归实现 @Test public void test11(){ int n = 100; int su = ISum(n); System.out.println("su ==> "+ su); } int sum = 0; public int ISum(int n){ sum ...

2019-01-03 19:41:20 329

原创 表达式 9/2 与 9/ 2.0 的结果是否相等?

整数与整数之间运算的结果必然是整数,就算是除法也会执行整除而舍弃小数。所以 9/2 的结果是 4,但是整数与浮点数的运算会转化为 浮点类型 再进行运算,其结果应是浮点类型, 所以 9 / 2.0 的结果是 4.5,所以 9/2 与 9/ 2.0 的结果 不相等。...

2019-01-02 20:43:31 4789

原创 能够正确编译 “ short s = 1; s = s + 1;” 吗?

Java语言中默认的整数类型是 int ,代码中 s 是 short 类型的变量,但是与它相加的 1 却是 默认的数据类型 int ,那么相加的结果也会是 int 类型,int 类型必须经过强制类型转换才能赋值给 short 类型的变量。因此,下面的语句无法通过编译,因为 s 与 int 类型数据求和后是 int 类型的数值,无法赋值给 short 类型的变量;short s = 1;s =...

2019-01-02 20:35:15 643

原创 & 和 && 两个运算符的区别是什么

前者属于位运算,后者属于逻辑运算,而逻辑运算是用来条件判断的。另外,&&运算符在左侧表达式为 false 时,不会再执行运算,从而提高运算速度。& 是位运算符,表示按位与运算;&&是逻辑运算符(短路运算符),表示逻辑与运算,&&符的运算效率更高;按位与的运算规则:当两个整数进行按位与运算时,如果对应位都是1,则为1,否则,结果为0;如果参...

2019-01-02 20:27:11 21612

原创 用最有效的方法算出 2 乘以 16 等于几

由于在计算机中,位运算的效率是最高的,要想找出最有效的运算方法,应该是从位运算入手,java语言的位运算中提供了左移、右移、和无符号右移运算符,他们分别是 <<、>>、>>>。左移会把操作数变大,它相当于把左侧数乘以2的n次幂,这个n是由右操作数决定的。而右移恰恰相反,它实现的是除法。使用位运算实现 2 乘以 16,代码如下:@Testpublic ...

2019-01-02 19:55:48 5043

原创 自增、自减运算符放在变量前后的区别是什么?

自增(++)、自减(- -)运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后,对操作元进行加1、减1操作。操作元必须是整数类型或浮点类型的变量,自增(自减)放在操作元之前,先对变量进行加1(减1),然后再使用变量的值,自增放在操作元之后,先使用变量的值,然后再对变量进行加1(减1)操作。自增、自减运算符放在变量前后没有区别的情况在使用自增、自减运算符时,自增和自减运算符放在变量之前...

2019-01-02 16:40:41 9889 2

原创 表达式 3 - 2.6 == 0.4 的值是什么?

首先对表达式 3 - 2.6 == 4 进行分析,该表达式有两个 运算符,分别为减 运算符 - 和 关系运算符 == ,由于减运算符的优先级高于关系运算符 == ,所以该表达式将输出一个布尔值,即输出 true 或者是 false,具体输出什么取决于 3 - 2.6 的值。在 java 中基本数据类型的的浮点数运算是不精确的,如果在 java 程序中输出 3 - 2.6 的值,可以看到输出的结果...

2018-12-29 17:04:44 1103

原创 局部变量可以定义私有修饰类型吗?

在 java 语言中,可以使用 private , protected ,public 修饰类、成员变量、方法,但是不可以使用 private ,protected,public 修饰 局部变量。final 可以修饰局部变量,但这样修饰后它会变为常量。例如:public void test3(){private String s = “”;int length = s.length();...

2018-12-29 16:34:37 1996 1

原创 语句 float num = 3.14159 是否正确?

Java语言提供了两种用于存储浮点数的基本类型,即 double 和 float,而java语言默认的浮点类型是 double ,所以当在程序代码中为 float 型的变量赋值 3.14159时,会被默认为 double类型,由于 double 类型数据占用的存储空间超出了 float 型数据的存储空间,所以需要强制类型转换为 float 类型或者为浮点数添加 f 或 F 作为后缀,而语句 fl...

2018-12-29 16:01:53 2627

原创 解决 Usage of API documented as @since 1.8+

报错截图报错信息Usage of API documented as @since 1.8+This inspection finds all usages of methods that have @since tag in their documentation.This may be useful when development is performed under newer ...

2018-12-29 15:20:34 2705

原创 java8提供的时间工具类

//解析日期 String dateStr= "2016年10月25日"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日"); LocalDate date= LocalDate.parse(dateStr, formatter); System.out.println...

2018-12-29 15:10:38 1272

原创 java实现插入排序

public class SimpleInsertionSort {@Testpublic void test(){ int[] arr = {15,3,4,20,13}; int length = arr.length; for (int i = 1; i < length; i++) { int preIndex = i - 1; ...

2018-12-24 20:27:34 160

原创 java实现冒泡排序以及优化冒泡排序过程

@Testpublic void bubbleSortTest() { int array[] = {9,5,2,4,3}; int length = array.length; for (int i = 0; i < length; i++) { for (int j = 0; j < length - i - 1; j++) { if (array[j] &a

2018-12-23 20:13:01 667 1

原创 数组实现栈的基本操作

public class arrayStack{private long[] a;private int size;private int top;public arrayStack(int maxSize){ this.size = maxSize; this.a = new long[size]; this.top = -1; // 代表空栈}public void ...

2018-12-17 20:20:01 856

原创 java遍历map的四种方式

Map<String,String> map = new HashMap<String,String>():map.put("1","熬力名");map.put("2","朱志明");map.put("3","张世坤");第一种for (String key : map.keySet()) { log.info(

2018-08-08 19:50:54 177

原创 如何在 JS 代码中消灭 for 循环

一,用好 filter,map,和其它 ES6 新增的高阶遍历函数问题一: 将数组中的空值去除const arrContainsEmptyVal = [3, 4, 5, 2, 3, undefined, null, 0, ""];答案:const compact = arr => arr.filter(Boolean);...

2018-08-01 20:49:44 577

原创 IDEA类和方法注释模板设置

IDEA类和方法注释模板设置 1.首先设置类注释【注意:类注释是在类创建的时候加上的】 使用 ctrl + alt + s 快捷键 弹出 idea 的 setting 界面,如下图 选中左侧的【File and Code Templates】,然后选择右边的【class】, 在右侧的框中输入类注释的模板,例如: /** * @Package: P...

2018-07-26 21:07:41 343

原创 java面向对象设计原则

软件开发的一个不变真理:不变的是变化 1. 把会变化的部分取出来并“封装”起来,好让其他部分不受影响。(封装变化) 2. 针对接口编程(真正的意思是“针对超类型”编程),而不是针对实现编程。 针对实现编程 Dog d = new Dog(); d.bark(); 声明变量 d 为 Dog的类型,(是Animails的具体实现),会造成我们必须针对具体实现编程。 ...

2018-02-28 21:48:45 162

原创 java中三元运算符详解

什么是三元运算符呢!无疑其操作元有三个。第一个是表达式,剩余两个是值,条件表达式为真时,取第一个值,为假时,取第二个值。 示例代码如下: boolean a = 20 < 45 ? true : false 三元运算符的优先级高于赋值运算符,故第一个表达式为真,取第一个值,返回 a=true; 三元运算符用于做判断,其等价的if-else语句如下: boolean a; if (20 <

2017-11-04 11:10:12 28563 2

原创 Oracle数据库导出导入所有的表结构和表数据命令

例如:数据库名称为sqjz,用户名:sa,密码:123456,数据库服务地址为:127.0.0.1 导出数据库命令 1.win+R进入命令界面 执行命令:exp sa/[email protected]/sqjz file=f:\sqzj.dmp log=f:\sqjz.log 导入数据库命令 1.win+R进入命令界面 执行命令:imp sa/[email protected]/sqjz

2017-11-03 10:07:56 9662

原创 Myeclipse或Eclipse 老是出现JPA project Change Event Handler

windows 中: 创建名为disabled的文件夹; 在disabled文件夹下创建两个文件夹,名字分别为features 、plugins; 将plugins目录下,以org.eclipse.jpt开头的jar文件剪切到disabled\plugins目录下; 将features目录下,以org.eclipse.jpt开头的j文件夹剪切到disabled\features目录下; 重

2017-10-14 14:59:07 578

原创 Myeclipse优化building时间

点击windows,选择【Preferences】,点击【Myeclipse】,点击【Validation】,把右面的所有对勾都去掉,只保留【Classpath Dependency Validator】。如下图: 在项目上右键选择【Properties】,选择【Builders】,把【Javascritp Validator】和【Validation】对勾去掉即可。如下图:

2017-10-11 21:10:44 282

原创 myeclipse2014破解步骤

myeclipse2014破解步骤 双击 run.bat 打开破解工具(前提已经安装jdk并正确配置了环境变量 classpath、Path)1、打开破解工具---- 先随便输入一个用户名和 点击systemid按钮生成systemId 再点击 active 即可得到用户名和激活码, 但是这个systemId一般是错误的打开myeclipse---myeclipse----Subsc

2017-10-09 08:51:30 1581

原创 JSON 字符串 与 java 对象的转换

把java 对象列表转换为json对象数组,并转为字符串 JSONArray array = JSONArray.fromObject(list); String jsonstr = array.toString();把java对象转换成json对象,并转化为字符串 JSONObject object = JSONObject.fromObject(user); Log4jInit.ysu

2017-05-28 12:52:36 704

原创 Oracle中timestamp时间戳的长度

2系统时间装换为时间戳格式 Timestamp nowTime = new Timestamp(System.currentTimeMillis()); SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss.SSS”); String time = sdf.format(nowTime); nowTime = Tim

2017-05-28 12:40:37 13098

原创 Oracle查询锁住的表语句

1.select object_name,machine,s.sid,s.serial# from vlockedobjectl,dbaobjectso,vlocked_object l,dba_objects o ,vsession s where l.object_id = o.object_id and l.session_id=s.sid;2.下面的语句用来杀死一个进程:(其中24,11

2017-05-28 12:33:44 459

myeclipse2014

破解myeclipse的工具,破解步骤详解,破解步骤特别注意

2017-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除