JAVA基础
文章平均质量分 96
soso密斯密斯
https://github.com/hughcoder
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java并发机制的底层实现原理
一、概述 本系列并发文章主要是为了解决日常面试中经常问到的概念进行相关梳理,各种锁估计都将各位绕晕了。 大家可以先看看下面的问题,在针对性的阅读本系列文章。 synchronized底层原理是什么 JMM可见性,原子性,有序性,synchronized可以保证什么? 说说你对volatile字段有什么用途? sychronized,volatile区别? 这里可以体系化的回答,主要从JMM角度去回答,最后深入到字节码层面的区别。因为提到了修饰的范围有差别,就有了下一题。对于锁的对象的不同,效果会有什么差原创 2021-01-11 16:02:52 · 357 阅读 · 0 评论 -
2017Android面试题解析 --(一)
每篇章10道题解析 1. 简述synchronized?Object; synchronized确保每次只有一个线程能持有对象锁并对同步代码块进行访问,并在访问结束之前,不会被其它线程访问。也就说,即使同步代码块在执行过程中遭遇线程调度,其它线程也无法访问该同步代码块,直到该线程被重新调度并完成同步代码块的访问并释放对象锁。这样就保证了线程对同步代码块访问的连续性不受线程调度而中断。原创 2017-09-16 11:54:22 · 412 阅读 · 0 评论 -
Java---- 静态内部类与非静态内部类的区别
在面试中回答的很不全,所以再此做一个总结。1 static 静态修饰符在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的。 static修饰表示静态的,在类加载时JVM会把它放到方法区,被本类以及本类中所有实例所公用。在编译后所分配的内存会在一直存在,直到程序退出内存才会释放这个空间。如果一个被所有实例公用的方法被申明为static,那么就可以节省空间了,不用每个实例初始化的时候都被分原创 2017-09-25 19:05:47 · 14579 阅读 · 6 评论 -
方法的重载与重写的区别
1.方法参数传递在调用对象的方法时,需要根据方法声明的参数列表传入适当的参数值列表。方法引用的过程其实就是将实参的数据传递给方法的形参,以这些数据为基础,执行方法体完成其功能。 Java只有一种参数传递方式,即按值传递。 1.1如果传入方法的是基本类型的数据,方法声明的形参得到的是基本类型数据的一份拷贝. 1.2如果当引用语句中的实参是对象或数组时,那么被引用的方法声明的形参得到的是对象引用的原创 2017-11-10 17:17:45 · 316 阅读 · 0 评论 -
抽象方法与抽象类 --笔记
抽象方法:只有方法名、参数表和返回值,没有方法体。 既然抽象方法没有方法体,那么也就不能被执行。如果某个类含有抽象方法,那么这个类必须定义为抽象类,即在类定义前用关键字abstract修饰。 但需要注意,一个抽象类可以没有抽象方法。 抽象类没有具体的对象。 通常定义抽象类的对象引用指向它子类的对象。注意:抽象方法和抽象类 1抽象类不可以创建对象 2包含抽象方法的类必须被声明为抽象原创 2017-11-11 19:37:21 · 385 阅读 · 0 评论 -
JAVA接口 --笔记
接口是一种更深层次的抽象,我们可将其想象为一种”纯“抽象类。它和抽象类相似,但它的成员方法都是抽象方法。 Java中定义接口使用关键词interface 接口的成员方法默认为抽象的、公有的,成员属性默认为静态的、final修饰的。接口只是提供一种形式,具体的实现细节交由实现它的类完成。一个类实现一个接口使用关键词implements,与继承相似,但一个类可以实现多个接口。 例:inter原创 2017-11-11 20:00:26 · 413 阅读 · 0 评论 -
关于String内存分配的深入探讨
一.equals与==的区别 ==:对于基本类型,比较的是它们的值。对于复合类型(直接在堆中分配空间),比较的是它们在内存中的地址。 equals:该方法属于Object,而所有类都继承于Object这个基类,因此每个类都有这个方法。Object类中equals的默认实现是return (this == obj);,即默认是比较对象的内存地址。但在库中的一些类会覆盖从写equals这个方法,如:原创 2017-12-20 19:44:19 · 1150 阅读 · 0 评论 -
关于最小的k个数有关partition问题详解
首先,解这类问题,我们首先要了解partion,简单来说,选一个基准数,将小于这个基准数的数放到这个基准数前面,大于这个基准数的放到这个基准数后面,原创 2018-03-09 10:53:52 · 968 阅读 · 0 评论 -
了解泛型程序设计(一)
自从ASs升级到3.0以后,不用在对findViewById进行强转,因此我们可以用一个泛型来实现这类强制类型转换的代码,使其具有更好的安全性和可读性。 因此我们用泛型的形式来对findViewById进行封装下 代码如下 private View mRootView = null; public <T extends View> T $(@IdRes int viewId) {原创 2018-03-18 14:53:48 · 390 阅读 · 0 评论 -
Java线程间交互同步———— synchronized
在看本篇文章之前,我们要写思考以下问题。是否理解synchronized的含义、明确synchronized关键字修饰普通方法、静态方法和代码块时锁对象的差异。(篇尾会将答案贴出来)要是还有疑虑的话,这篇文章希望帮你很好的理清。一、基础知识我们知道,在多线程共享资源时,由于共享资源的操作不完整,导致共享的数据产生错误。为了保证对共享数据操作的完整性,这种完整性称为共享数据操作的同步(同步就是等待某...原创 2018-03-28 22:42:24 · 705 阅读 · 0 评论 -
一款仿电商平台的培训课程app ------ 悦乐学
好久没写文章了,这里分享一下之前写过的一个app 简要介绍功能 1.在悦乐学系统中,用户能通过自己的手机号来获取账户,这也是市面上很主流的操作,当输入符合规定时,便能成为该系统的一个用户。 2.登陆功能,用户通过之前注册的账户、便能成功访问悦乐学系统 3.课程搜索功能,用户输入关键字,搜索出名称相关的课程,并根据自己的需要选择对应的课程。 4.课程分类功能,用户可根据分类搜索出相关培训机...原创 2018-09-25 15:54:31 · 1126 阅读 · 3 评论 -
剑指offer算法题集合 刷题记录文
剑指offer算法题合集 https://github.com/hughcoder/DailyAlgorithm 上面的github集合并将剑指offer的题目进行了分类归纳,每一道题都有详细的思路解答(自己的理解),谢谢大佬们的star fork了 package main.链表; // 需在写一遍 // 输入一个链表,反转链表后,输出新链表的表头。 public cla...原创 2018-11-06 21:00:45 · 215 阅读 · 0 评论 -
java线程 同步相关知识点梳理
线程与并发 1.线程和进程的区别? 线程:线程,是进程的一部分。线程有时又被称为轻权进程或轻量级进程,也是 CPU 调度的一个基本单位。线程之间共用一个进程的内存空存空间。 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位 2.开启线程的三种方式 * 继承Thread * 实现Runnable接口 * 实现Callable方法 3.如何正确的结束一个Thread? ...原创 2019-05-28 10:01:55 · 437 阅读 · 2 评论 -
java基础知识点的查漏补缺
java基础知识点的查漏补缺 1. 静态属性和静态方法是否可以被继承?是否可以被重写?以及原因? 2.什么是内部类 内部类、静态内部类、局部内部类和匿名内部类的区别及作用 内部类的作用 ⑴ 内部类作为外部类的成员,可以访问外部类的私有成员或属性。(即使将外部类声明为PRIVATE,但是对于处于其内部的内部类还是可见的。) ⑵ 用内部类定义在外部类中不可访问的属性。这样就在外部类中实现了比外...原创 2019-05-24 09:46:21 · 307 阅读 · 0 评论
分享