Java相关文章11篇
-
[知识回顾]用图片告诉你Java中的位运算
02-19 原码、反码、补码在机器的内存中,一个负数的表示是这个负数的绝对值取原码,再取反码,再加一,最后出现的就是这个负数在内存中的表示的二进制数值比如说-9在内存中的二进制码,这里用8位表示:最后-9在内存中的二进制值为11110111在二进制中,最高位为符号位,0代表正,1代表负**位运算左移和右移在Java中的int类型有4字节,一个字节有8位,所以这边用32位表示一个数负数的左移和右移这边负数表示是在内存中表示的二进制值右移时:最高位补符号位1左移时:末尾补0正数的左移和右移右移时:最高位补符号位0左移时:末尾补0无符号右移无论是正数还是负数,右移最高位一律补0&(位与)当相对应的位都为1... -
关于解决Mybatis和MybatisPlus中实体类对应字段与数据库关键字冲突问题
2023-09-24 在项目中如果我们实体对应的表中包含数据库的关键字,就会出现如下异常信息:### Error querying database. Cause: java.sql.SQLSyntaxErrorException: (conn=684898) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'order,parent FROM typecho_metas ### T... -
java split | (竖线)
2022-09-28 java split | (竖线)在java中,有一个字符串"866|10|1824261|214|",需要根据“|”截取。而直接用split("|");是不行的。原因是竖线 | 在正则中是特殊字符,需要转义,也就是split(“|”);但实际在java中使用时,\又是java的特殊字符,需要转义,最终变成了split("\|");public static void main(String[] args) { String line = "866|10|1824261|214|"; String[] cells = line.split("... -
[转]35 个 Java 代码性能优化总结
2018-05-26 前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的。代码优化的目标是:1、减小代码的体积2、提高代码运行的效率代码优化细节1、尽量指定类、方法的final修饰符带有fin... -
Java依赖注入标准(javax.inject)使用
2018-05-11 Spring自带的@Autowired的缺省情况等价于JSR-330的@Inject注解; Spring自带的@Qualifier的缺省的根据Bean名字注入情况等价于JSR-330的@Named注解; Spring自带的@Qualifier的扩展@Qualifier限定描述符注解情况等价于JSR-330的@Qualifier注解。用过Spring框架的我们都知道,每当生成依赖注入的时候,我们都必须生成相应类的set方法,而且要在set方法上面写上@Autowired,才能实现依赖注入,如下:package com.kaishengit.web; import ... -
[温故]Java 字符串对象池的作用
2018-05-10 从Java5.0开始,Java虚拟机在启动的时候回实例化9个对象池。这9个对象池分别用来存储8中基本类型的包装类对象和String对象,主要是为了效率问题。大家应该知道,创建String对象有俩种办法,代码如下:String str1="hello"; String str2=new String("hello");这俩种创建String对象的方法有什么区别吗?区别就在于第一种方法在对象池中取对象,第二种方法直接生成新的对象。当在程序中直接用双引号引起来一个字符串时,Java虚拟机(JVM)就到String的对象池中就去检查是否有一个值相同的对象。如果有,就取现成的对象;如果没有则... -
[转]JAVA多线程实现的四种方式
2018-04-18 这是网上一篇关于介绍多线程的一篇文章,个人感觉总结的很不错。顺便自己也收藏了。Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。 其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。1、继承Thread类创建线程 Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方... -
instanceof与getClass的区别
2018-03-26 在java中,在比较一个类是否和另一个类属于同一个类实例的时候,我们通常可以采用instanceof和getClass两种方法通过两者是否相等来判断,但是两者在判断上面是有差别的,通过下面从演示代码中就可以看出区别:public class Test { public static void testInstanceof (Object x) { System.out.println("x instanceof Parent: "+(x instanceof Parent)); System.out.println("x instanceof C... -
GBK内码转换成汉字
-
for循环中i++ 和 ++i的区别
-
[Java]JAVA万年历