- 博客(14)
- 收藏
- 关注
转载 Java字符串池(String Pool)深度解析
Java字符串池(String Pool)深度解析 在工作中,String类是我们使用频率非常高的一种对象类型。JVM为了提升性能和减少内存开销,避免字符串的重复创建,其维护了一块特殊的内存空间,这就是我们今天要讨论的核心,即字符串池(String Pool)。字符串池由String类私有的维护。 我们知道,在Java中有两种创建字符串对象的方式:1)采用字面值的方式赋值 2)采用new关键字新建一个字符串对象。这两种方式在性能和内存占用方面存在着差别。 方式一:...
2020-07-06 16:51:17
573
1
原创 oracle中处理varchar2排序问题
Oracle中如果直接对varchar2类型进行排序,如果直接order by 字段,可能会出现11<2的情况。例如:直接order by排序产生结果:0>1>11>2>3。这是因为varchar2类型实际排序的时候,首先只比较第一位数字大小,然后比较第二位,以此类推。解决方案:使用CAST函数。 Oracle的CAST可以将列字段类型转化成对应类型的函数...
2020-03-23 10:46:50
2420
1
原创 使用try-with-resources代替finally关闭资源
try-with-resources(即try(){}catch{}) 是 JDK 7 中一个新的异常处理机制,它能够很容易地关闭在 try-catch 语句块中使用的资源。所谓的资源(resource)是指在程序完成后,必须关闭的对象。try-with-resources 语句确保了每个资源在语句结束时关闭。所有实现了 java.lang.AutoCloseable 接口(其中,它...
2020-01-14 17:15:23
1167
原创 CentOS7增加或修改SSH端口号的方法
第一步:修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d) 1 vim /etc/ssh/sshd_config 找到“#Port 22”,这一行直接键入“yyp”复制该行到下一行,然后把两行的“#”号即注释去掉,修改成: 1 2 Port 22 Port 10086 ...
2019-12-25 19:25:36
344
原创 对象的扩展方法
1.Object.is()ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===)。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript 缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等。ES6 提出“Same-value equality”(同值相等)算法,用来解决这个问题。Object.is就...
2019-07-06 11:06:07
673
原创 对象的扩展
1.属性的简洁表示法ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。const foo = 'bar';const baz = {foo};baz // {foo: "bar"}// 等同于const baz = {foo: foo};上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。下面是另一个例子。...
2019-07-06 10:56:32
125
原创 数组的扩展
1.扩展运算符1.含义扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1, 2, 3])// 1 2 3console.log(1, ...[2, 3, 4], 5)// 1 2 3 4 5[...document.querySelectorAll('div')]// [<...
2019-07-06 10:32:41
203
原创 函数的扩展
1.函数参数的默认值1.基本用法ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。function log(x, y) { y = y || 'World'; console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', ''...
2019-07-06 10:17:18
187
原创 数值的扩展
1.二进制和八进制表示法ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。0b111110111 === 503 // true0o767 === 503 // true从 ES5 开始,在严格模式之中,八进制就不再允许使用前缀0表示,ES6 进一步明确,要使用前缀0o表示。// 非严格模式(function(){ console....
2019-07-06 10:00:09
142
原创 字符串的新增方法
1.includes(),startsWith(),endsWith()传统上,JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6 又提供了三种新方法。includes():返回布尔值,表示是否找到了参数字符串。 startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。 endsWith():返回布尔值,表示参数字符串...
2019-07-06 09:10:54
148
原创 变量的解构赋值
1.数组的解构赋值基本用法:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。let a = 1;let b = 2;let c = 3;ES6 允许写成下面这样。let [a, b, c] = [1, 2, 3];如果解构不成功,变量的值就等于undefined。llet...
2019-07-06 08:54:21
276
原创 Let与Const命令
Let与Const命令1.let命令基本用法:ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1特点:不存在变量提升// var 的情况console.lo...
2019-07-05 17:16:18
139
原创 git 基本命令
1.工作区与暂存区 git diff 比较的是工作区文件与暂存区文件的区别(上次git add 的内容) git diff --cached 比较的是暂存区的文件与仓库分支里(上次git commit 后的内容)的区别 git diff HEAD --file可以查看工作区和版本库的内容区别2.撤销修改git checkout -- file可以丢弃工作区的修改: ...
2019-02-24 21:25:21
161
原创 Thinkphp3.2在ubuntu16下的部署配置
1.ubuntu安装lamp环境。参考网址 https://www.linuxidc.com/Linux/2016-10/136327.htm2.修改www目录权限:sudo chmod 777 -R /var/www3.打开/etc/apache2/apache2.conf,将文件中的两个AllowOverride None改为AllowOverride All4.在项目根目录下添加.ht...
2019-02-24 18:58:40
559
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人