Java
文章平均质量分 84
小鱼喝可乐
南京大学、Alibaba淘系技术部
展开
-
CAP理论为什么不能同时满足
CAP理论为什么不能同时满足原创 2022-02-07 19:07:29 · 4543 阅读 · 0 评论 -
Spring Boot自动装配(必面问题详解)
Spring Boot自动装配问题详解。原创 2022-02-05 19:09:33 · 3219 阅读 · 0 评论 -
前缀和(二)
本文首发自本人微信公众号:今天你A了吗。每日算法讲解,面试题,冲刺BAT大厂。微信扫码关注吧:昨天讲了前缀和(一)的内容,相信大家都很有收获,下面再接再厉,我们一起拿下前缀和(二)的内容。其实前缀和(一)讲的是一维前缀和,前缀和(二)将会讲二维前缀和的使用。一、介绍:什么是二维前缀和先看图,我们给定了一个3x7的二维整数网格mat。特别地,我们用sum[i][j]表示前i行前j列的网格中元素和,如sum[1][1]表示前一行前一列的元素和,相应的sum[0][1]和sum[1][0]就是0了。原创 2020-10-30 18:17:36 · 661 阅读 · 0 评论 -
二叉树遍历:非递归
一个模板,只是换了一个输出的位置。前序遍历题目:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/class Solution { public List<Integer> preorderTraversal(TreeNode root) { if(root == null) return new ArrayList<Integer>();原创 2020-10-27 02:14:22 · 118 阅读 · 0 评论 -
Java面试:protected和private修饰符的区别
private public修饰符很常见,很多人对protected和default的权限产生疑惑:第一点:在同一个包中,protected和default表现一致,即,当main方法所在的类和使用了protected与default修饰属性、方法的类在同一个包下面时,可以直接通过类对象调用被修饰的属性和方法。在同一个包中发生的继承,protected和default表现同样一致。第二点:当main方法所在的类与使用了protected和default修饰属性、方法的类在不在同一个包下面时,使用其他包的原创 2020-09-30 16:51:55 · 465 阅读 · 0 评论 -
Java面试:多态
解释:同一操作作用于不同的对象,可以产生不同的效果。这就是多态。作用:提高代码的可维护性和拓展性。把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。总结:提高代码的复用增强可拓展性多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。代码: public abstract class Car { public void run();//让子类来运行原创 2020-09-30 16:01:48 · 275 阅读 · 0 评论 -
修改idea中的maven源
1. 在设置中搜索maven搜索maven,右边有个User settings file, 点击Override,然后根据这个文件地址找到这个文件。一般来说这个文件是不存在的,你可以自己去创建。windows右击新建即可,mac/linuxtouch settings.xml chmod 777 settings.xml2 打开settings.xml进行配置以阿里源为例,复制我这段代码进去即可:<settings xmlns="http://maven.apache.org/SETTIN原创 2020-08-23 13:45:04 · 1519 阅读 · 0 评论 -
一文搞懂transient关键字
最详细的transient关键字讲解1.序列化1.1 什么是序列化1.2 以文件存储为例实现序列化2.transient关键字2.1 添加transient关键字2.2 静态变量不需要加transient首先上总结:用transient关键字标记的成员变量不参与序列化(Serialize)过程。也就是说,当Java对象进行存储、网络传输的时候,使用transient修饰的变量不会被序列化,保存、传输的数据中不会有被修饰的变量信息。静态变量不会被序列化,所以不需要加transient关键字。原创 2020-08-09 17:15:05 · 760 阅读 · 0 评论 -
Java序列化与反序列化
参考博客:飞鹰279 李学凯什么叫序列化,什么叫反序列化简单的来说:序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。JAVA序列化与反序列化就是JAVA对象与一串字节流之间的相互转换, 我们在程序中创建的JAVA对象只存在于JVM中, 当程序退出时, 这些对象也就消失了, 而序列化正是为了将这些对象保存起来以仅将来...原创 2019-01-23 17:27:44 · 242 阅读 · 0 评论 -
唯一ID的解决方案--snowflake算法
如何在系统中生成唯一的ID一直是一个重要的问题,比如订单信息,产品批次信息等。另外,我们在数据库分库分表之后,如何生成唯一id。在分布式系统中,生成唯一ID有许多种方法,比如自增长ID,系统当前时间,UUID,snowflake算法等。在实际项目中,考虑到并发等原因,snowflake算法在这其中是一个很好的选择。自增长ID,系统当前时间,UUID的缺点首先提一下记录标识生成的两大核心需求:①...原创 2019-01-22 20:35:38 · 412 阅读 · 0 评论 -
java并发编程之线程的基本概念
本文为学习笔记。源自学习微信公众号“我们都是小青蛙”。本篇文章将记录如何使用java中的线程。main线程main方法是程序入口,我们对已经编译好的class文件调用java命令时就可以运行一个java程序。这个过程中,其实系统自动为我们创建了一个进程和一个线程,而且这个线程的名字就叫做main。main线程是用来执行我们的程序的,不过系统还会为我们创建一些辅助线程来帮助main线程的执...原创 2018-11-03 00:59:56 · 292 阅读 · 0 评论 -
java并发编程之背景知识
本文为学习java并发编程的学习笔记。交流心得。想要了解java并发编程,首先要了解进程和线程的关系。进程的概念和特点我们自己写的程序,也就是所谓的用户程序是由操作系统来管理的,人们把一个执行着的程序叫做一个进程(英文名:Process),每个进程都有这么两个特点:资源所有权:如内存、I/O,这些不能再线程间共享。调度/执行:操作系统为进程分配时间片,调度进程被处理。进程的状态...原创 2018-11-03 00:38:38 · 159 阅读 · 0 评论 -
检查异常和非检查异常
在讲检查异常(checked exception)和非检查异常(unchecked exception)之前,我们通过一张图来简单了解一下JAVA的异常结构图。(图片来自loren-Yang的CSDN博客)。java中的异常和错误都继承自java.lang.Throwable。这个类有两个直接的子类Error和Exception。Error错误:JVM内部的严重问题。无法恢复。程序人员不...原创 2018-10-07 13:21:31 · 1325 阅读 · 0 评论