java基础知识
Andy_96
学如逆水行舟,不进则退!
展开
-
java中的位运算
Java提供的位运算符有:左移( << )、右移( >> ) 、无符号右移( >>> ) 、位与( & ) 、位或( | )、位非( ~ )、位异或( ^ ),除了位非( ~ )是一元操作符外,其它的都是二元操作符。1、左移( << )例:5 << 2 = 20运算过程:首先java得整数类型int 32位,将5转化为32位的二进制形式0000 0000 0000 0000 0000 0000 0000 0101 左移两位原创 2020-07-13 16:55:53 · 411 阅读 · 0 评论 -
java什么情况下产生死锁?如何定位修复?
java什么情况下产生死锁?如何定位修复?死锁:死锁是一种特定的程序状态,在实体之间,由于循环依赖导致彼此一直处于等待之中,没有任何个体可以继续前进。死锁产生条件:互斥条件请求与保持条件不可剥夺条件环路等待条件定位死锁最常见的方式就是利用jstack工具获取线程栈,然后定位相互之间的依赖关系,进而找到死锁。死锁实例:public class DeadLockSample ex...原创 2018-09-22 15:11:02 · 2153 阅读 · 0 评论 -
java并发包提供的并发工具类
java并发包提供哪些并发工具类?我们通常所说的并发包就是java.util.concurrent及其子包,集中了java并发的各种工具类,主要包括以下几个方面:提供了比synchronized更加高级的同步结构,包括CountDownLatch、CyclicBarrier、Semaphore等,可以实现更加丰富的多线程操作,比如利用Semaphore作为资源控制器,可以控制同时工作的线程数...原创 2018-09-24 16:54:17 · 537 阅读 · 0 评论 -
java常见面试题(4)
接口和抽象类的区别?接口和抽象类是java面向对象的两个基础机制。接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到API定义和实现分离的目的。接口,不能实例化;不能包含任何非常量成员,任何field都是隐含着public static final的意义;没有非静态方法实现,也就是要么是抽象方法,要么是静态方法。抽象类是不能实例化的类,用关键字abstract修饰,其目的是代码重...原创 2018-08-30 12:04:29 · 295 阅读 · 0 评论 -
java常见面试题(3)
synchronized和ReentrantLock有什么区别?synchronized是java内建的同步机制,所以也称其为Intrinsic Locking,它提供了互斥的语义和可见性,当一个线程已获取当前锁时,其它试图获取的线程只能等待或者阻塞在那里。在java 1.5以前,synchronized是仅有的同步手段,可以用来修饰方法,也可以指定在特定的代码块上,本质上synchroniz...原创 2018-08-29 17:10:57 · 229 阅读 · 0 评论 -
java常见面试题(2)
java反射机制,动态代理是基于什么原理?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。反射机制是java提供的一种基础功能,赋予程序在运行时自省的能力。通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取声明的属性和方法,调用...原创 2018-08-28 18:08:17 · 329 阅读 · 0 评论 -
Java常见面试题(1)
对java平台的理解,java是否是解释执行?java是面向对象的语言,最显著的两个特点是“一次书写,到处运行(Write once,run anywhere)”和垃圾收集(GC)。第一个特点使java非常容易的或跨平台能力,第二个特点java通过垃圾收集器回收分配内存,大部分情况下,程序员不需要操心内存的分配与回收。JRE:java运行环境,包含了JVM和java类库。 JDK:JDK...原创 2018-08-28 15:02:34 · 227 阅读 · 0 评论 -
MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理
MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理所谓隔离级别,就是在数据库事务中,为保证数据读写的正确性而提出的定义,它并不是MySQL专有的概念,而是源于ANSI/ISO制定的SQL-92标准。MySQL InnoDB引擎,是基于MVCC(Multi-Versioning Concurrency Control)和锁的复合实现,按照隔离程度从低到高,MySQL失误隔离级别分为四个不...原创 2018-08-30 21:38:41 · 849 阅读 · 0 评论 -
java中三种常见内存溢出错误的处理方法
java中三种常见内存溢出错误的处理方法jvm管理的内存大致包括三种不同类型的内存区域:Permanent Generation space(永久保存区域)Heap space(堆区域)Java Stacks(Java栈)。其中永久保存区域主要存放Class(类)和Meta的信息,Class第一次被Load的时候被放入PermGen space区域,Class需要存储的内容主要...转载 2018-08-15 21:51:22 · 535 阅读 · 0 评论 -
数据库实现增删改查(基于Swing)
package main;import view1.MyLogin;public class Main {public static void main(String[] args) {MyLogin l = new MyLogin();l.login();}}package view1;import java.awt.GridLayout;import j...原创 2018-01-19 10:11:42 · 3084 阅读 · 2 评论 -
javase四舍五入的方法
// 方式一:double f = 3.1516;BigDecimal b = new BigDecimal(f);double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();// 方式二:new java.text.DecimalFormat("#.00").format(3.1415926);// ...翻译 2018-03-11 10:45:07 · 209 阅读 · 0 评论 -
流的概念
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流。 2. 字节流 Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据。Java中最基本的...转载 2018-03-11 10:46:30 · 488 阅读 · 0 评论 -
10个经典的 Java main 方法面试题
1.不用main方法如何定义一个类?不行,没有main方法我们不能运行Java类。在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。2.main()方法需要的参数不是字符串数组?不是的,main()方法的参数必须是字符串数组。但是,在引进变参时,你可以将字符串类型的变参作为参数传递给main()方法。变参一定得是数组。pack...转载 2018-03-11 10:54:22 · 176 阅读 · 0 评论