java知识点

Wesley13
• 阅读 766

java中的collectionhttps://www.cnblogs.com/taiwan/p/6954135.html

hashtable和hashmap:hashtable的key和value不允许为null,hashmap的key和value可以为null

hashtable的方法是Synchronized,hashmap没有,是非线程安全的,线程不安全的hashmap采用的是快速失败机制(线程不安全的集合对象在迭代过程中有其他线程修改了集合对象结构或者元素数量,有可能会抛出异常:ConcurrentModificationException)

运算符优先级:(从大到小)

java知识点

java的jvm:

内存分为三个区:堆(heap),方法区(method),栈(stack)

堆区被所有的线程共享,只存放对象的实例和数组

方法区杯所有线程共享,用于存储已经被虚拟机加载的类信息、常量、静态变量

栈区,每一个线程都有一个栈区,栈区中保存方法的基础数据类型和对象的引用

java知识点

异常捕捉:try catch finnally

执行try如果有错则执行catch,然后执行finnally(finnalyy语句一定会执行)

finally语句一定会在return之前执行,finally的return或者throw语句会覆盖try-catch语句中的return

静态方法:用static修饰,使用公共的内存空间,所以的对象可以直接引用,可以通过类型或者对象名.方法名调用

      在实例化类的时候,静态会被优先加载,且只加载一次,不受实例化的影响就可以使用

垃圾回收还是会造成内存泄漏问题,内存泄漏:一个不被使用的对象或者变量还在内存中占用存储空间,在c中由程序员来释放内存

在java中引入了垃圾回收机制来释放内存,但是还是会存在内存泄漏,

内存泄漏的两种情况:①堆中申请的内存没有释放②对象已不被使用(如连接没有关闭),GC机制只能解决①情况

造成内存泄漏的原因:1.静态集合类,生命周期同程序一样,对象在程序结束之前将不能释放,造成浪费

          2.各种连接:数据库连接,网络连接,IO连接,不使用时不关闭

          3.释放对象时没有删除相应的监听器

内存溢出:申请的内存不足够使用,内存泄漏会导致内存溢出

sleep()和wait():sleep是thread类中的,wait是object中的,sleep不释放锁,wait释放锁,wait、notify必须在Synchronized中使用

类加载的过程:

字符串:

indexof(str):从左至右返回指定字符串的下标

lastindexof(str):从右至左返回指定字符串的下标

(下标都从左往右由0开始)

substring(begin,end):返回由begin到end-1的字符内容

String、Stringbuffer、Stringbuilder

String是不可变字符,每次修改是是生成新的string对象,传值和传地址没有什么区别

Stingbuilder:可变长字符,效率高,线程不安全

Stringbuffer:可变长字符,效率低,线程安全

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
Java爬虫之JSoup使用教程
title:Java爬虫之JSoup使用教程date:201812248:00:000800update:201812248:00:000800author:mecover:https://imgblog.csdnimg.cn/20181224144920712(https://www.oschin
Wesley13 Wesley13
3年前
P2P技术揭秘.P2P网络技术原理与典型系统开发
Modular.Java(2009.06)\.Craig.Walls.文字版.pdf:http://www.t00y.com/file/59501950(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.t00y.com%2Ffile%2F59501950)\More.E
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这