独一无二147
码龄10年
关注
提问 私信
  • 博客:206,353
    206,353
    总访问量
  • 41
    原创
  • 658,751
    排名
  • 25
    粉丝
  • 0
    铁粉

个人简介:我是一个喜欢旅游的孩子

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2014-12-11
博客简介:

独一无二

博客描述:
勿忘初心~方得始终
查看详细资料
个人成就
  • 获得87次点赞
  • 内容获得18次评论
  • 获得227次收藏
创作历程
  • 20篇
    2019年
  • 12篇
    2018年
  • 9篇
    2017年
成就勋章
TA的专栏
  • 服务器
    1篇
  • javascript
    2篇
  • java
    26篇
  • bootstrap
  • oracle
    3篇
  • 优化myeclips
    2篇
  • java面向对象设计原则
    1篇
  • idea
    2篇
  • 数据结构
  • 排序
    2篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

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

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

transient关键字有何作用

使用对象流保存对象时,将对象的全部信息都保存了,但是有些信息是不希望保存,如密码,该如何避免该信息的保存。使用transient关键字修饰的属性,在保存对象时,该属性并不会被保存。下面的程序定义了一个Usere类,它包含用户名,密码、年龄,其中密码和年龄被transient关键字修饰,此外,该类还实现了 Serializable 接口。public class User implemen...
原创
发布博客 2019.01.24 ·
8690 阅读 ·
5 点赞 ·
0 评论 ·
28 收藏

String 与 StringBuilder的区别是什么

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

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

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

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

新建一个Student类,如下:public class Student { private String name; private String gender; public Student(){ System.out.println("公有无参构造函数"); } protected Student(String name){ ...
原创
发布博客 2019.01.16 ·
952 阅读 ·
2 点赞 ·
2 评论 ·
1 收藏

如何创建Class对象?

在java中,要获得类的Class对象,可以通过以下三种方式来实现。第一种是通过Class类的forName()方法,如进行数据库操作时就是通过这种方式加载数据库驱动的。在使用Class类的forName()方法时,需要为其传递一个字符串实参,该字符串实参就是类的完整路径,该方法的返回值就是字符串实参所所指定类的一个Class对象,如通过Class.forName(“java.lang.S...
原创
发布博客 2019.01.15 ·
4348 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

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

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

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

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

final、finally、finalize有什么区别?

final表示一个修饰符 修饰一个类,该类不能被继承。 修饰一个方法,该方法不能被重写。 修饰一个变量,该变量一旦赋值后不能修改。finally用于异常处理 它用于修饰一个代码块,即使前面的代码处理异常,该代码块中的代码也会执行。通常用于释放资源finalize表示Object类中的定义的一个方法,它可以重写,用于回收资源。...
原创
发布博客 2019.01.08 ·
497 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

如何进行数组查找

使用java.util.Arrays类的binarySearch()方法可以实现数组的查找。binarySearch(Object[] a, Object key)a:要搜索的数组。key :要搜索的值。如果key包含在数组中,则返回搜索值的索引;否则,返回 -1;@Testpublic void test16(){ String arr[] = new String[]{"数...
原创
发布博客 2019.01.04 ·
2341 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

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

在java中,如果为数组分配了内存空间,那么系统会为数组元素指定默认值,该默认值与数组的数据类型有关。byte 型数组元素默认初始值是 0 。short 型数组元素的默认初始值是 0 。int 型数组元素的默认初始值是 0 。long 型数组元素的默认初始值是 0L。float 型数组元素的默认初始值是 0.0f。double 型数组元素的默认初始值是 0.0d。char 型数组元素...
原创
发布博客 2019.01.04 ·
25430 阅读 ·
12 点赞 ·
0 评论 ·
36 收藏

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

第一种: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 ·
9831 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

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

问题:在我们编写程序时 ,经常需要进行各种计算,例如:将两个int型整数的乘积,赋值给一个 long 型变量,请问这种计算结果一定正确吗?当为一个 long 型变量赋值一个整数常量时,如果这个整数超过了 int 的取值范围,程序就会出现编译错误,但是有一种情况程序是不会出错的,就是将多个 int 型数据进行算术运算的结果 赋值 给 long 型变量,即使这个运算结果超出了 int 的范围,程序也...
原创
发布博客 2019.01.03 ·
2152 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

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

接下来是计算 s1 和 s2 的 和值,会发现第一个方法的计算结果为负数,第二个是正确的。@Testpublic void test13(){ short s1 = 6000; int s2 = 50000; s1+=s2; System.out.println(s1);// -9536} 但是把代码稍微修改下结果就正确了 @Test public ...
原创
发布博客 2019.01.03 ·
750 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

不使用条件和循环语句如何求 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 ·
352 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

整数与整数之间运算的结果必然是整数,就算是除法也会执行整除而舍弃小数。所以 9/2 的结果是 4,但是整数与浮点数的运算会转化为 浮点类型 再进行运算,其结果应是浮点类型, 所以 9 / 2.0 的结果是 4.5,所以 9/2 与 9/ 2.0 的结果 不相等。...
原创
发布博客 2019.01.02 ·
5129 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

能够正确编译 “ 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 ·
712 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

前者属于位运算,后者属于逻辑运算,而逻辑运算是用来条件判断的。另外,&&运算符在左侧表达式为 false 时,不会再执行运算,从而提高运算速度。& 是位运算符,表示按位与运算;&&是逻辑运算符(短路运算符),表示逻辑与运算,&&符的运算效率更高;按位与的运算规则:当两个整数进行按位与运算时,如果对应位都是1,则为1,否则,结果为0;如果参...
原创
发布博客 2019.01.02 ·
23094 阅读 ·
7 点赞 ·
0 评论 ·
33 收藏

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

前者属于位运算,后者属于逻辑运算,而逻辑运算是用来条件判断的。另外,&&运算符在左侧表达式为 false 时,不会再执行运算,从而提高运算速度。& 是位运算符,表示按位与运算;&&是逻辑运算符(短路运算符),表示逻辑与运算,&&符的运算效率更高;按位与的运算规则:当两个整数进行按位与运算时,如果对应位都是1,则为1,否则,结果为0;如果参...
原创
发布博客 2019.01.02 ·
23094 阅读 ·
7 点赞 ·
0 评论 ·
33 收藏

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

由于在计算机中,位运算的效率是最高的,要想找出最有效的运算方法,应该是从位运算入手,java语言的位运算中提供了左移、右移、和无符号右移运算符,他们分别是 <<、>>、>>>。左移会把操作数变大,它相当于把左侧数乘以2的n次幂,这个n是由右操作数决定的。而右移恰恰相反,它实现的是除法。使用位运算实现 2 乘以 16,代码如下:@Testpublic ...
原创
发布博客 2019.01.02 ·
5241 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏
加载更多