跳到主要内容
SUN / 笔记

BLOG / 766 ARTICLES

技术笔记

计算机基础、AI、后端与客户端开发笔记

#JavaKnowledge · 36 篇文章清除筛选
15 分钟
Android

JVM架构

Java的主要优势在于,它被设计为可在具有WORA(write once, run anywhere)概念的各种平台上运行-“一次编写,可在任何地方运行”。

21 分钟
Android

剑指Offer(上)

最近面试,遇到一些笔试题,写不上来,内心是崩溃的,该好好复习下了,所以决定仔细做一遍,随便也整理下,方便大家学习。

2 分钟
Android

hashCode与equals

HashSet和HashMap一直都是JDK中最常用的两个类,HashSet要求不能存储相同的对象,HashMap要求不能存储相同的键。 那么Java运行时 环境是如何判断HashSet中相同对象、HashMap中相同键的呢?当存储了相同的东西之后Java运行时环境又将如何来维护呢?在研究这个问题之前,首先说明一下JDK对equals(Object obj)

2 分钟
Android

生产者消费者

JDK1.5 中提供了多线程升级解决方案。 将同步Synchronized替换成现实Lock操作。将Object中的wait,notify notifyAll,替换了Condition对象。 该对象可以Lock锁 进行获取。 该示例中,实现了本方只唤醒对方操作。Lock:替代了Synchronized lock unlock newCondition()Co

29 分钟
Android

HashMap实现原理分析

HashMap是Map接口的实现,元素以键值对的方式存储,并且允许使用null建和null值,因为key不允许重复,因此只能有一个键为null。 HashMap被认为是Hashtable的增强版,HashMap是一个非线程安全的容器,如果想构造线程安全的Map考虑使用ConcurrentHashMap。 HashMap是无序的,因为HashMap无法保证内部

9 分钟
Android

Java并发编程之原子性、可见性以及有序性

众所周知,原子是构成物质的基本单位,所以原子代表着不可分。 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 最简单的一个例子就是银行转账问题,赋值或者return。比如a = 1;和 return a;这样的操作都具有原子性 原子性不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作! 加锁可以保证

1 分钟
Android

MD5加密

MD5是一种不可逆的加密算法只能将原文加密,不能将密文再还原回去,原来把加密后将这个数组通过Base64给变成字符串, 这样是不严格的业界标准的做法是对其加密之后用每个字节&15然后就能得到一个int型的值,再将这个int型的值变成16进制的字符串.虽然MD5不可逆, 但是网上出现了将常用的数字用md5加密之后通过数据库查询,所以MD5简单的情况下仍然可以查

41 分钟
Android

Git简介

Git和其他版本控制系统(包括Subversion及其他相似的工具)的主要差别在于Git对待数据的方法。概念上来区分,其它大部分系统以文件 变更列表的方式存储信息。 这类系统(CVS、Subversion、Perforce、Bazaar等等)将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。 存储每个文件与初始版本的差异。

页