Java
文章平均质量分 92
木凡空
就让光芒折射泪湿的瞳孔
映出心中最想拥有的彩虹
展开
-
Java多线程详解
一、线程1.线程状态新生、就绪、运行、睡眠、等待、阻塞、死亡新生态当创建类Thread或其子类的实例对象,新线程就产生,自动进入新生态就绪态调用线程的成员方法start,线程就进入就绪态就绪态的线程才能参与JVM对线程的调度,JVM按照一定的调度规则让一些就绪态的线程进入运行态若存在多个处于就绪态的线程,则优先级高的线程优先进入运行态阻塞态已进入就绪状态但未获取到资源多个线程共享资源,资源有限,JVM让有限个线程占有,让其它处于就绪态的线程因缺少资源自动进入阻塞台原创 2020-09-09 16:40:14 · 286 阅读 · 0 评论 -
Spring面试基础
一、IOC与DI与AOP1.什么是IOC?Inversion of control 控制反转比如以前创建一个对象,需要自己主动new一个。通过IOC,对象的创建交由Spring框架创建,开发人员直接使用已经创建好的对象(简单说,就是交由Spring创建对象)例子(1) Person类package com.hua.pojo;public class Person{ private String name; private int age; /* 省略get、set方法 */原创 2020-09-07 02:51:21 · 269 阅读 · 0 评论 -
Java面试题基础
一、面向对象1.面向对象的特征有哪些方面?抽象、封装、继承、多态抽象:比如一个人类,抽象出name、age这些属性,使开发过程更易于理解封装:最常见的事把属性私有化封装在一个类里,只能通过方法去访问继承:子类继承父类,从而继承父类的属性和方法多态:分操作符的多态和类的多态。类的多态只父类引用指向子类对象,并且有继承、有重写二、关键字1.final、finally、finalize的区别?final: 修饰类、方法、基本类型变量、引用 修改类:该类不能被继承 修饰方法:该方法不能被原创 2020-09-06 21:14:43 · 349 阅读 · 0 评论 -
Java大数运算之BigInteger
一、BigInteger1.创建BigInteger a=new BigInteger("123");BigInteger b=new BigInteger("456");BigInteger a=BigInteger.valueOf("123");BigInteger a=BigInteger.valueOf(123);a=BigInteger.ZERO; //0a=BigInteger.ONE; //1a=BigInteger.TEN; //102.运算比较a.compa原创 2020-09-03 17:54:21 · 256 阅读 · 0 评论 -
Java位运算
| 运算(按位或)0|0=00|1=11|0=11|1=110|12=1010|1100=1110=14~ 运算(按位非)~0=1~1=0^ 运算(按位异或)0^0=00^1=11^0=11^1=010^12=1010|1100=0110=6<< 左移向左移动n位,右边空出用0表示;快速计算即m*2^n2<<2=82<<3=163<<4=48>> 右移向右移动n位,左边空出用0表示)2原创 2020-08-27 17:04:50 · 116 阅读 · 0 评论 -
Java反射详解
一、功能在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法生成动态***二、性能问题反射会降低效率void setAccessible(boolean flag):是否启用访问安全检查的开关,true屏蔽Java语言的访问检查,使得对象的私有属性也可以被查询和设置。禁止安全检查,可以提高反射的运行速度...原创 2020-08-10 18:27:19 · 124 阅读 · 0 评论 -
Java设计模式和原则详解
一、设计模式1、单例模式一个类只有一个实例,且该类能自行创建这个实例的一种模式适用场景1、某类只要求生成一个对象时。如一个班的班长,每个人的身份证号2、在对象需要被共享的场合。由于单例模式只允许创建一个对象,共享该对象可以节省内存,并加快对象访问速度。如Web中的配置对象,数据库的连接池3、当某类需要频繁实例化,而创建的对象又频繁被销毁时。如多线程的线程池,网络连接池等(1)懒汉式实现public class LazySingleton { private static vo原创 2020-07-27 23:52:23 · 208 阅读 · 0 评论 -
Java笔试题一
一、选择题1.运算(1)逻辑运算&& 两者都要判断|| 前者为true则后者无需判断2.JVM(1)equalspublic boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anOb原创 2020-07-19 22:11:26 · 302 阅读 · 1 评论 -
Java代码规范之编程规约
一、命名风格代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式类名使用UpperCamelCase风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID等方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长抽象类命名使用Abstract或Base开头;异常类命名使用Exc转载 2020-05-27 23:29:31 · 504 阅读 · 0 评论 -
Java8之stream使用
1、List(1)遍历List<Integer> list=new ArrayList<>();list.add(1);list.add(2);list.stream().forEach(item->{ System.out.println("值:"+item)})(2)过滤List<String> list=new ArrayL...原创 2020-04-22 15:51:03 · 110 阅读 · 0 评论 -
不同编码中字符与字节关系
1、UTF-8: 英文字母占1个字节,中文占3个字节,数字占1个字节2、ASCII: 英文字母占1个字节,中文占2个字节3、Unicode: 英文字母占2个字节,中文占2个字节4、GBK: 英文字母占1个字节,中文占2个字节...原创 2020-04-22 11:44:49 · 182 阅读 · 1 评论 -
Java原子类AtomicLong的用法
1、AtomicLong可理解为加了synchronized的long2、AtomicLong函数:// 构造函数AtomicLong()// 创建值为initialValue的AtomicLong对象AtomicLong(long initialValue)// 以原子方式设置当前值为newValue。final void set(long newValue) // 获取当...原创 2020-04-18 23:04:30 · 5062 阅读 · 0 评论 -
Java带json的post请求
HttpURLConnection conn=null; try{ String strUrl="http://172.18.8.192:8000/trainAndPredict/"; URL url=new URL(strUrl); conn=(HttpURLConnection)url.o...原创 2019-12-11 12:41:32 · 298 阅读 · 0 评论