![](https://img-blog.csdnimg.cn/20190926173836476.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 59
程序猫A建仔
一个程序猫的独白,进军互联网的逆袭之路!
展开
-
深入理解Java虚拟机---底层原理分析与性能优化
底层原理分析与性能优化—深入理解Java虚拟机概念虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Visual Box,Java Virtual Machine(Java虚拟机,简称JVM)。Java虚拟机阵营:Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM…启动流程原创 2021-02-22 09:40:53 · 290 阅读 · 0 评论 -
SpringBoot 配置三数据源mysql、oracle、sqlServer
# 开发环境配置spring: thymeleaf: cache: false datasource: dynamic: primary: sqlServer #设置默认的数据源或者数据源组,默认值即为master datasource: master: username: root password: 123456 driver-class-name: com.mysql.cj.j原创 2020-12-21 17:33:14 · 445 阅读 · 0 评论 -
你知道System.out.println,System.out.print(),System.out.printf三者的区别吗?
Java中常见的输出语句包括System.out.println() 和System.out.print()三者的区别:printlnSystem.out.println() 输出信息后追加一个换行printSystem.out.print()输出之后不追加换行printfSystem.out.printf()格式化输出的形式...原创 2020-12-07 10:58:46 · 712 阅读 · 0 评论 -
mysql中int和bigint差别有多大?
mysql中int和bigint差别有多大?int普通大小的整数带符号的范围是-2147483648到2147483647无符号的范围是0到4294967295。bigint带符号的范围是-9223372036854775808到92233720368547758072.无符号的范围是0到18446744073709551615在什么情况下需要用到bigint?就是值得范围的问题,如果需要大于int的范围,就用bigint...原创 2020-12-06 15:52:21 · 3064 阅读 · 0 评论 -
Druid JDBC 连接池、监控组件
Druid是一个JDBC组件,它包括三部分:DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。DruidDataSource 高效可管理的数据库连接池。SQLParserDruid可以做什么?可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。数据库密码原创 2020-10-20 18:54:15 · 234 阅读 · 0 评论 -
Maven中项目打包跳过测试的三种方法
Maven打包项目为什么要跳过测试?答:执行maven打包发布项目时,如果测试类中有测试用例代码,打包maven默认会将测试用例一起编译,编译不通过则会报错。maven项目打包测试时跳过测试类的三种方法如下:在执行run as时候加上参数:clean install compile -Dmaven.test.skip=true使用mvn命令(1) mvn install -D...原创 2019-12-06 14:59:14 · 1384 阅读 · 0 评论 -
集群部署后session共享问题解决方案
session共享4种解决方案cookie携带,不安全。敏感信息不采用,cookir有跨域问题;session绑定,使用ip_hash来解决,有局部的单点故障,用户体验度不好;session的复制,使用tomcat来实现,修改server.xml的配置;第三方插件来保存redis,企业中使用比较多;...原创 2019-12-02 21:36:16 · 450 阅读 · 0 评论 -
Java代码优化的总结
总结Java代码优化的方法尽量少new对象,及时关流,慎用异常将常量声明为 static final,并以大写命名尽量重用对象尽可能使用局部变量指定类、方法的 final 修饰符循环内不要不断创建对象引用乘法和除法使用移位操作尽量在合适的场合使用单例采用懒加载的策略,即在需要的时候才创建使用同步代码块替代同步方法尽量避免随意使用静态变量及时清除不再需要的会话不要将数组声明...原创 2019-08-22 16:29:34 · 321 阅读 · 0 评论 -
在 Java 中定义一个不做事且没有参数的构造 方法的作用
在 Java 中定义一个不做事且没有参数的构造 方法的作用Java 程序在执行子类的构造方法之前,如果没有用 super() 来调用父类特定 的构造方法,则会调用父类中“没有参数的构造方法”。因此,如果父类中只定 义了有参数的构造方法,而在子类的构造方法中又没有用 super() 来调用父类 中特定的构造方法,则编译时将发生错误,因为 Java 程序在父类中找不到没 有参数的构造方法可供执行。解...原创 2019-06-26 23:02:40 · 2845 阅读 · 0 评论 -
在一个静态方法内调用一个非静态成员为什么是非法的?
在一个静态方法内调用一个非静态成员为什么是 非法的由于静态方法可以不通过对象进行调用,因此在静态方法里,不能调用其他非 静态变量,也不可以访问非静态变量成员。...原创 2019-06-26 22:56:56 · 2129 阅读 · 0 评论 -
自动装箱与拆箱
自动装箱与拆箱装箱:将基本类型用它们对应的引用类型包装起来拆箱:将包装类型转换为基本数据类型原创 2019-06-26 22:53:57 · 74 阅读 · 0 评论 -
Java 面向对象编程三大特性: 封装 继承 多态
Java 面向对象编程三大特性: 封装 继承 多态1. 封装封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法。如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也就没有什么意义。2. 继承继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不能选择性地继承...原创 2019-06-26 22:48:09 · 1446 阅读 · 0 评论 -
重载和重写的区别
重载和重写的区别重载发生在同一类中,方法名必须相同,参数类型不同,个数不同,顺序不同。方法返回值和访问修饰符可以不同,发生在编译时。重写发生在子父类中,方法名,参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为private,则子类就不能重写该方法。...原创 2019-06-26 22:31:25 · 75 阅读 · 0 评论 -
构造器Constructor 是否可被override
构造器 Constructor 是否可被 override在讲继承的时候我们就知道父类的私有属性和构造方法并不能被继承,所以 Constructor 也就不能被 override(重写),但是可以 overload(重载),所以 你可以看到一个类中有多个构造函数的情况。...原创 2019-06-26 22:26:51 · 452 阅读 · 0 评论 -
Maven开发第一步 - 配置Maven环境变量(详细)
配置Maven环境变量配置环境变量:右击“我的电脑”–>“高级”–>“环境变量”一.在系统变量里新建MAVEN_HOME变量1.MAVEN_HOMED:\Maven\apache-maven-3.6.0二.path变量(已存在不用新建)添加变量值2.path%MAVEN_HOME%\bin...原创 2019-07-15 21:23:47 · 98 阅读 · 0 评论 -
throw和throws的区别
throw和throws的区别1.throw:自己进行异常处理处理方式2种:一.自己捕获异常(try catch捕获)二.声明抛出一个异常(就是throws异常~~)注意:throw一旦进入被执行,程序立即会转入异常处理阶段,后面的语句就不再执行,而且所在的方法不再返回有意义的值!public class TestThrow{ public static void main...原创 2019-06-05 18:05:27 · 168 阅读 · 0 评论 -
java中的线程安全是什么?什么叫线程安全?什么叫不安全?
java中的线程安全是什么:就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问什么叫线程安全:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。或者说...原创 2019-06-05 19:22:25 · 1142 阅读 · 1 评论 -
Java中常见的IO流及其使用
**BufferedInputStream & BufferedOutputStream**如上面所介绍的那样,在BufferedInputStream的构造函数中需要传入一个InputStream, BufferedInputStream内部有一个字节数组缓冲区,每次执行read操作的时候就从这buf中读取数据,从buf中读取数据没有多大的开销。如果buf中已经没有了要读取的数据,那...原创 2019-06-09 20:55:18 · 284 阅读 · 0 评论 -
面向对象和面向过程的区别?
面向过程和面向对象的区别?面向过程面向过程是一种站在过程的角度思考问题的思想,强调的是功能的行为和执行过程,即先干啥,后干啥;优点:性能高:由于类调用需要实例化,开销比较大,消耗大量资源;例如单片机,嵌入式,Linux/Unix等一般采用面向过程进行开发,因为性能是最主要的因素。缺点:没有面向对象易于维护,易于复用,易扩展面向对象面向对象更加符合我们常规的思维方式,稳定性好,可重用性...原创 2019-06-23 21:20:48 · 78 阅读 · 0 评论 -
你知道Java语言有哪些特点吗?
Java 语言有哪些特点?简单易学;面向对象(封装,继承,多态);平台无关性( Java 虚拟机实现平台无关性);可靠性;安全性;支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系 统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程 支持);支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设 计的,因此 Java 语言不仅支持网...原创 2019-06-23 21:27:11 · 744 阅读 · 0 评论 -
关于 JVM JDK 和 JRE 最详细通俗的解答
关于 JVM JDK 和 JRE 最详细通俗的解答JVMJava虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM有针对不同系统的特 定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给 出相同的结果。什么是字节码?采用字节码的好处是什么?在 Java 中,JVM可以理解的代码就叫做字节码(即扩展名为 .class 的文 件),它不面向任何特定的处理...原创 2019-06-23 21:32:12 · 540 阅读 · 0 评论 -
Oracle JDK 和 OpenJDK 的对比
Oracle JDK 和 OpenJDK 的对比可能在看这个问题之前很多人和我一样并没有接触和使用过 OpenJDK 。那么 Oracle和OpenJDK之间是否存在重大差异?下面通过我通过我收集到一些资 料对你解答这个被很多人忽视的问题。对于Java 7,没什么关键的地方。OpenJDK项目主要基于Sun捐赠的HotSpot 源代码。此外,OpenJDK被选为Java 7的参考实现,由Ora...原创 2019-06-23 21:33:47 · 17102 阅读 · 0 评论 -
Java和C++的区别
Java和C++的区别我知道很多人没学过C++,但是面试官就是没事喜欢拿咋们Java和C++比鸭,没办法!!!就算没学过C++,也要记下来!都是面向对象的语言,都支持封装,继承和多态Java不提供指针来直接访问内存,程序内存更加安全Java的类是单继承的,C++支持多重继承;虽然Java的类不可以多继承,但是接口可以多继承。Java有自动内存管理机制,不需要程序员手动释放无用内存...原创 2019-06-26 22:16:48 · 78 阅读 · 0 评论 -
什么是 Java 程序的主类 ? 应用程序和小程序的主类有何不同?
什么是 Java 程序的主类 应用程序和小程序的主 类有何不同一个程序中可以有多个类,但只能有一个类是主类。在 Java 应用程序中,这 个主类是指包含 main()方法的类。而在 Java 小程序中,这个主类是一个继 承自系统类 JApplet 或 Applet 的子类。应用程序的主类不一定要求是 public 类,但小程序的主类要求必须是 public 类。主类是 Java 程序执行的入口...原创 2019-06-26 22:20:12 · 9268 阅读 · 0 评论 -
字符型常量和字符串常量的区别
字符型常量和字符串常量的区别形式上: 字符常量是单引号引起的一个字符 字符串常量是双引号引起的 若干个字符含义上: 字符常量相当于一个整形值( ASCII 值),可以参加表达式运算 字 符串常量代表一个地址值(该字符串在内存中存放位置)占内存大小 字符常量只占2个字节 字符串常量占若干个字节(至少一个 字符结束标志) (注意: char在Java中占两个字节)...原创 2019-06-26 22:22:48 · 5076 阅读 · 1 评论 -
JAVA开发第一步 - JDK的安装与环境配置 (详细)
配置Java环境变量首先在Oracle官网下载JDK(选择所需版本)下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html下载安装后右击“我的电脑——属性——高级系统设置——环境变量以下是本人总结的步骤 亲测好用(支持Windows 10和Windows 7)一.在系统变量里...原创 2019-07-15 21:20:40 · 283 阅读 · 0 评论