
JAVA基础
文章平均质量分 68
失业找工作中
it小白的学习笔记,加油!
展开
-
Java线程池
1.初始化构造线程池Executors是一个工厂类,里面封装了多个用于创造特定场景下使用的线程池的工厂方法。比如我们示例中的Executors.newFixedThreadPool(2)会返回一个固定线程个数的线程池。详细来看看//Executors: public static ExecutorService newFixedThreadPool(int nThreads) {原创 2017-12-09 20:51:52 · 227 阅读 · 0 评论 -
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数据库表里面的某个字段。完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。持久对象是由insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相...原创 2018-04-24 12:51:00 · 307 阅读 · 0 评论 -
Java中的字符串,代码点和代码单元
在Java字符串处理时,在使用length和charAt方法时,应该格外小心,因为length返回的是UTF-16编码表示下的代码单元数量,而非我们所认为的字符的个数,charAt方法返回的是指定位置处的代码单元,而非我们所认为的字符。至于为什么都是“代码单元”而非字符,这和Unicode字符集的增补相关。要想获得字符串中的字符的个数,应当使用aString.codeP...原创 2018-11-27 21:54:11 · 680 阅读 · 0 评论 -
检测字符串是否相等
1、可以使用equals方法检测两个字符串是否相等2、也可以使用compareTo方法进行比较当比较两个字符串是否相等而不区分大小写时,也可以使用equalsIgnoreCasecompareToIgnoreCase这两个进行判断 public static void main(String[] args) { String a = "a...原创 2018-11-27 21:33:39 · 2073 阅读 · 0 评论 -
【JDK源码分析】 String.join()方法解析
今天看书的时候看到String.join方法时,发现和我想的结果不太一样,所以点开源码看一看String.join方法到底是实现了什么,原来String在JDK 8中新增了join方法 /** * Returns a new String composed of copies of the * {@code CharSequence elements} jo...原创 2018-11-27 21:22:41 · 1251 阅读 · 0 评论 -
【jdk安装错误】IllegalArgumentException:Invalid characters in hostname
电脑重装以后,再一次安装jdk8时出现了“IllegalArgumentException:Invalid characters in hostname”的错误该错误出现后无法关闭安装程序,只能调用任务管理器进行关闭然后查询了很多方法,说是安装的路径中有中文或者一些非法字符/空格这些不规范的东西经尝试:1.更改路径(无效)2.手动创建路径(...原创 2018-10-30 19:47:10 · 792 阅读 · 0 评论 -
JAVA中字符串比较equals()和equalsIgnoreCase()的区别
1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式:boolean equals(Object str)这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它返回true,否则返回false。这种比较是区分大小写的。2、为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )...原创 2018-08-08 21:03:03 · 182 阅读 · 0 评论 -
String类型转换BigDecimal类型
public static void main(String[] args) { String str1="2.30"; BigDecimal bd=new BigDecimal(str1); System.out.println(bd); }原创 2018-04-02 16:16:13 · 87604 阅读 · 2 评论 -
String常用API汇总
java8常用API汇总原创 2018-11-27 22:04:17 · 930 阅读 · 0 评论 -
java Console 控制台为null问题 Console con = System.console()
问题描述从控制台输入中一般都会使用Scanner类,但是读取密码时JavaSE6引入了Console类,测试代码如下: Console console = System.console(); System.out.println(console); System.out.print("请输入你的名字:"); String ...原创 2018-11-27 22:33:05 · 3593 阅读 · 0 评论 -
怎么设计一个秒杀系统
方向:将请求尽量拦截在系统上游思路:限流和削峰1、限流:屏蔽掉无用的流量,允许少部分流量流向后端。2、削峰:瞬时大流量峰值容易压垮系统。常用的消峰方法有异步处理、缓存和消息中间件等技术异步处理:秒杀系统是一个高并发系统,采用异步处理模式可以极大地提高系统并发量,其实异步处理就是削峰的一种实现方式。 缓存:秒杀系统本身是一个典型的读多写少的应用场景【一趟火车其实只有2000张票,2...原创 2019-06-23 13:36:46 · 446 阅读 · 0 评论 -
参 数 传 递
首先是String。然后是StringBuffer同理,看自己创建的对象peoplejava中对象作为参数传递给一个方法,到底是值传递,还是引用传递?String和int参数传递是按值传递还是引用传递?一道面试题目,String的传递:publicString change(String s){ s ="222"; return...原创 2019-02-01 13:27:53 · 207 阅读 · 0 评论 -
可 变 参 数
到J2SE 1.4为止,一直无法在Java程序里定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类型都必须逐一匹配,而形参的数目是在定义方法时就已经固定下来了。尽管可以通过重载机制,为同一个方法提供带有不同数量的形参的版本,但是这仍然不能达到让实参数量任意变化的目的。然而,有些方法的语义要求它们必须能接受个数可变的实参——例如著名的ma...原创 2019-02-01 13:25:29 · 172 阅读 · 0 评论 -
关于ArrayList.clear()与=null以及new ArrayList<E>()
ArrayList是常用到的JCF类,用来保存类型相同的一组对象,并通过下标来快速访问指定对象。今天讨论的是当我们使用完ArrayList后应该选择怎样合适的处理方式。这里现在有三种方式如下:1. 使用ArrayList的对象方法clear()ArrayList<String> list = new ArrayList<String>();list.add(...原创 2019-01-11 08:49:09 · 642 阅读 · 0 评论 -
Java动态代理之JDK实现和CGlib实现(简单易懂)
代码懒得整理了,转一篇https://www.cnblogs.com/ygj0930/p/6542259.html--------------------------------------------------------------------------------------------------在运行测试类的时候出现了异常Exception in thread "m...原创 2018-12-17 11:11:19 · 294 阅读 · 0 评论 -
反 射
个人分类:JAVA基础编辑Java反射是 Java 被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运 行时透过 Reflection APIs 取得任何一个已知名称的class 的内部信息,包括其 modifiers( 诸如 public, static 等 )、superclass (例如 Object)、 实现之 interfaces(例如 Cloneable),也包...原创 2018-12-17 11:08:57 · 186 阅读 · 0 评论 -
JAVA代码效率优化
最近在想自己编程时是否注意过代码的效率问题,得出的答案是:没有。代码只是实现了功能,至于效率高不高没怎么关注,这应该是JAVA程序员进阶的时候需要考虑的问题,不再是单纯的实现功能,也不是完全依赖GC而不关注内存中发生了什么,而要考虑到代码的性能。下面是网上找的一篇关于JAVA代码优化的文章,觉得不错,就转载了。这里面设计到了JAVA基础和J2EE方面的优化建议,有时间会整理一下,现在...原创 2018-05-13 11:28:53 · 4169 阅读 · 0 评论 -
java数组转list误区
ava中数组转list使用Arrays.asList(T... a)方法。示例:publicclassApp {publicstaticvoidmain(String[] args) {List<String> stringA = Arrays.asList("hello","world","A");String[] stringArray = {"h...原创 2018-05-13 11:04:09 · 10237 阅读 · 1 评论 -
JAVA【多线程一】
前言多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧。正文线程与进程1 线程:进程中负责程序执行的执行单元线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使用分配给程序的资源和环境2 进程:执行中的程序一个进程至少包含一个线程3 单线程:程序中只存在一个线程,实际上主方法就是一个主线转载 2017-11-19 16:46:53 · 264 阅读 · 0 评论 -
JAVA【集合一】集合类
一、集合类 定义:一种为了对多个对象进行操作而进行存储的方式。 1、与数组的区别: 数组:可以存储对象,也可以存储基本数据类型,但是一次只能存储一种类型,数组长度固定。转载 2017-11-18 19:53:05 · 226 阅读 · 0 评论 -
JAVA【泛型】
泛型之前在面向对象编程语言中,多态算是一种泛化机制。例如,你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性。此外,如果将方法参数声明为接口,将会更加灵活。在Java增加泛型类型之前,通用程序的设计就是利用继承实现的,例如,ArrayList类只维护一个Object引用的数组,Object为所有类基类。[java] view plain转载 2017-11-18 15:21:02 · 314 阅读 · 0 评论 -
JAVA【IO六】序列化
【JAVA IO】_对象序列化笔记本章目标:掌握对象序列化的作用掌握Serializable接口作用可以使用ObjectOutputStream进行对象序列化操作可以使用ObjectinputStream进行对象反序列化操作掌握Externalizable接口的作用及与Serializable接口的实现区别掌握transient关键字的作用可以序列化一组对象3.1、什么叫对象序列化一个转载 2017-11-18 11:06:14 · 276 阅读 · 0 评论 -
JAVA【IO五】转换流
在《Java网络编程》中,有这样一段话:”Reader和Writer最重要的子类是InputStreamReader和OutputStreamWriter类。InputStreamReader类包含了一个底层输入流,可以从中读取原始字节。它根据指定的编码方式,将这些字节转换为Unicode字符。OutputStreamWriter从运行的程序中接收Unicode字符,然后使用指定的编码方式将这转载 2017-11-18 11:02:24 · 324 阅读 · 0 评论 -
JAVA【枚举】
DK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量 在JDK1.5之前,我们定义常量都是:publicstaticfianl….。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 public enum Color { RED, GREEN, BLANK,转载 2017-11-19 18:16:26 · 170 阅读 · 0 评论 -
JAVA跨平台性
1. 前言 与C,C++不同,java规范中没有“依赖具体实现”的地方,基本数据类型大小以及有关算法都做了明确的说明。例如,Java中int类型永远为32位整数,而C/C++中int的类型大小有可能是16位,32位,也可能与编译器的设置有关。在java中,数据类型具有固定的大小,从而具有很好的可移植性。 C/C++中int的类型大小在不同的环境存在不一,有这几方面原因:① C/C原创 2017-12-20 12:55:35 · 1150 阅读 · 0 评论 -
使用java.util.List的subList方法进行分页
java.util.List中有一个subList方法,用来返回一个list的一部分视图。List<E> subList(int fromIndex, int toIndex);它返回原来list的从[fromIndex, toIndex)之间这一部分的视图,之所以说是视图,是因为实际上,返回的list是靠原来的list支持的。返回一个以fromIndex为起始索引(包含),以toIn...原创 2018-04-24 12:40:02 · 1042 阅读 · 0 评论 -
JAVA【递归】
1.递归算法基本思路: Java递归算法是基于Java语言实现的递归算法。递归算法是一种直接或者间接调用自身函数或者方法的算法。递归算法实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法表示问题的解。递归往往能给我们带来非常简洁非常直观的代码形式,从而使我们的编码大大简化,然而递归的思维确实跟我们的常规思维相逆的,通常都是从上而下的思维问题,而递归趋势从下往上的进行思维。转载 2017-11-18 14:03:59 · 251 阅读 · 0 评论 -
进制 转换
一、基础内容十进制:有十个基数 0,1,2,3,4,5,6,7,8,9二进制:逢二进一,借一为二。 基数为0,1八进制:逢八进一,借一为八。 基数为0,1,2,3,4,5,6,7十六进制:逢十六进一,借一为十六。 基数为0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)二、转换方原创 2017-12-20 14:29:11 · 828 阅读 · 1 评论