![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
天贼
这个作者很懒,什么都没留下…
展开
-
Java之线程安全的几种方式
文章目录一、使用synchronized重写run方法二、使用synchronized修饰方法(同步方法)三、使用同步锁Lock一、使用synchronized重写run方法在多线程中,若不使用synchronzied保证线程安全,则可能会应为线程的切换带来一些数据异常如银行取钱public class Thread_safe_acount { private String accountNo; private double balance; public Thread_原创 2020-10-26 15:06:37 · 507 阅读 · 0 评论 -
什么是内存泄漏?什么是内存溢出?
内存泄漏和内存溢出内存泄漏(memory leak):指一个不再被程序使用的对象或变量还在占用着内存空间无法被回收。造成内存泄漏的原因:静态集合类,如HashMap、LinkedList等等。如果这些容器为静态的,那么它们的生命周期与程序一致,则容器中的对象在程序结束之前将不能被释放,从而造成内存泄漏。简单而言,长生命周期的对象持有短生命周期对象的引用,尽管短生命周期的对象不再使用,但...原创 2019-08-11 16:33:29 · 1642 阅读 · 0 评论 -
Map、HashMap、TreeMap、LinkedHashMap
package other_demo;import java.util.Scanner;import java.util.TreeMap;public class test_demo { public static void main(String[] args) { int N=0,M=0; Scanner sc=new Scanner(System.in); M=...原创 2019-08-26 15:47:59 · 605 阅读 · 0 评论 -
List、Vector、ArraryList、LinkedList
List:是一个接口,继承自CollectionList中的元素可以重复,且有序ArrayList底层数据结构:数组是否有序:是大小是否固定:大小可变,规模动态增加是否线程安全:否使用Collections.sort()可以对List排序;这个排序是自然排序;想要对自己的类排序,就需要像TreeMap/TreeSet一样重写Comparable接口下的方法上盘代码:pu...原创 2019-08-26 20:57:44 · 172 阅读 · 0 评论 -
树
今天就开始盘一盘树吧♕树的种类:二叉树、平衡二叉树、二叉查找树、B树、B+树、哈夫曼树、B*树、红黑树和trie树等树的一些定义:根结点/树根< root>:树最顶端的结点称为根结点或者树根结点< node>:树中的每个元素都叫结点子树< SubTree>:去除根结点后,其它结点又是一些树,这些树在原树中是子树,比如(C(G,H(K,L)))是A...原创 2019-08-31 09:02:46 · 115 阅读 · 0 评论 -
++运算的那些事
int i=5;int s=(i++)+(++i)+(i--)+(--i);System.out.println(s);的值是什么?这里出错的地方是(i++)和(++i)的运算模糊对于(i++)运算是先取i的值,再进行i=i+1的运算,即最后i的值是6,但(i++)的值是5,对于(++i)运算进行i=i+1的运算,再取i的值,即最后i的值是7,(i++)的值也是7,对于(i-...原创 2019-09-03 20:15:21 · 196 阅读 · 0 评论 -
java中public、protected、default、private权限问题
同一个类同一个包不同包的子类不同包的非子类Private√ Default√√ Protected√√√ Public√√√√...原创 2019-09-06 15:40:25 · 85 阅读 · 0 评论 -
JVM垃圾回收机制
做个搬运工,,,来自https://www.cnblogs.com/1024Community/p/honery.htmlJVM的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生、随线程而灭,因此这几个区域的内存分配和回收都具备确定性,就不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。而...转载 2019-08-11 15:26:48 · 121 阅读 · 0 评论 -
java基础,没事常看看(一)类、对象、引用
什么是对象,什么是类?类:是一个抽象的概念,表示的是一类事物所拥有的共性(属性、方法)。对象:是类的具体(实例),对象不仅拥有类的属性和方法(private除外),还有自己专属的属性与方法。比如:人是一个类,那么对象就可以有男人,女人,学生,老板等等。这里类是女朋友package javaBasis1;//听说你缺女票,new一个吧public class girlfrien...原创 2019-08-07 20:20:53 · 166 阅读 · 0 评论 -
java集合类根接口:Collection和Map
本文转载自:https://www.cnblogs.com/yeya/p/9955499.html前言在前文中我们了解了几种常见的数据结构,这些数据结构有着各自的应用场景,并且被广泛的应用于编程语言中,其中,Java中的集合类就是基于这些数据结构为基础。Java的集合类是一些非常实用的工具类,主要用于存储和装载数据 (包括对象),因此,Java的集合类也被成为容器。在Java中,所有的集合类...转载 2019-08-05 11:21:02 · 272 阅读 · 0 评论 -
正则表达式中匹配的特殊字符
'\\s+':匹配空格'\\n':匹配换行符'\\f':匹配换页符'\\r':匹配回车符'\\t':匹配制表符'\\v':匹配垂直制表符注:在使用split('\\s+');是可以匹配不止空格,而split(" ");匹配的只是一个空格。...原创 2019-07-15 15:14:09 · 2661 阅读 · 0 评论 -
杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序
1. java读取char类型应为java中没有nextchar();函数,所以只能先读取一行,即Sting a=sc.nextline();char need=a.charAt(0);//取字符串的第一个字母。2. 大小写字母的转换(1).调用API(String类):转大写public static String ToUpper(String c) { c=c.toUppe...原创 2019-07-17 16:16:15 · 1191 阅读 · 0 评论 -
牛客java面试题总结版(一)
1.什么是Java虚拟机(JVM)?为什么Java被称作是“平台无关的编程语言”?官方版:Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。大神版:链接:h...转载 2019-07-29 20:51:29 · 477 阅读 · 0 评论 -
牛客java面试题总结版(二)
6.Java中的方法覆盖(Overriding)和方法重载(Overload)是什么意思?官方版:Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。个人总结:7.Java中,什么是构造方法?什么是构造方法重载?什么是复制...转载 2019-07-30 10:10:19 · 124 阅读 · 0 评论 -
动态规划——入门(1)
被动态算法折磨的我看到了大神的这篇文章,觉得明白了许多,转载过来,以便回顾。然没询问大神意见,望谅解大神使用C++写的,我这代码是java原文地址为:https://blog.csdn.net/baidu_28312631/article/details/47418773动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得...转载 2019-07-21 10:02:11 · 150 阅读 · 0 评论 -
Map,HashMap,TreeMap
1. MapMap接口中,键和值一一映射,可以通过键来获取值。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平时说的键值对。给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。当访问的值不存在的时候,方法就会抛出一个NoSuchElementExc...转载 2019-08-04 14:42:51 · 319 阅读 · 1 评论 -
牛客java面试题总结版(三)
13.概括的解释下线程的几种可用状态。官方版:新建( new ):新创建了一个线程对象。可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( time...转载 2019-07-31 15:58:02 · 137 阅读 · 0 评论 -
Set 、HashSet、TreeSet、LinkedHashSet、EnumSet
Set是一个接口,主要继承于Collections接口,所以具有Collection的一些常见的方法。因为Collections是一个抽象的接口,所以不能直接实例化一个set对象。这与Map一样。(即Set s = new Set() 是错误的)不能存储相同的元素。只能有一个NULL值。常见的方法:Sr.No.Method & Description1add( ...原创 2019-08-25 08:42:58 · 216 阅读 · 0 评论 -
Day1-java基本类型
1.java数据类型 数据类型 大小 范围 默认值 Byte(字节) 8 -128~127 0 Shot(短整型) 16 -32768~32768 0 Int(整型) 32 ...翻译 2019-07-07 16:31:33 · 74 阅读 · 0 评论