自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

youngogo的博客

多多交流^_^

  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

原创 System.arraycopy()使用原理解析,坑点之:深拷贝和浅拷贝

一、深度复制和浅度复制的区别 Java数组的复制操作可以分为深度复制和浅度复制,简单来说深度复制,可以将对象的值和对象的内容复制;浅复制是指对对象引用的复制。二、System.arraycopy()方法实现复制1、System中提供了一个native的静态方法arraycopy()。可以使用这个方法来实现数组之间的复制。对于一维数组来说,这种复制属性值传递,修改副本 不会影响原来的值。 对于二维或者一维数组中存放的是对象时,复制结果是:一维的引用变量 传递给 副本的一维数组...

2020-07-30 14:37:16 2798

原创 大厂社区、知名技术博主,学习连接看这里,全!!!

百度AI社区:http://ai.baidu.com/forum/topic/list/169阿里云栖社区:https://yq.aliyun.com/articles/美团技术团队:https://tech.meituan.com/2019/02/28/root-clause-analysis.html微软行业博客:https://cloudblogs.microsoft.com/industry-blog/zh-cn/google中文技术团队博客:https://chinagdg.org/blo

2020-07-24 15:52:39 1349

原创 stackoverflow无法注册,简单便捷解决办法

github大佬链接放上,简单便捷一文全解决链接地址

2020-07-22 21:41:18 3516 2

原创 消息队列(rocketMq、kafka、rabbitMq)学习、使用、理解

MQ练习、使用、理解消息队列rocketMqrocketMq使用场景rocketMq事务消息kafkakakfa使用场景交流交流消息队列 rocketMq,kafka,rabbitMq 项目基本springboot,mybatisplus,搭建的demo,用于学习理解mqrocketMqrocketMq使用场景如果你的系统使用消息队列主要场景是处理在线业务,比如在交易系统中用消息队列传递订单,那 RocketMQ 的低延迟和金融级的稳定性是你需要的rocketMq事务消息订单系统下单

2020-07-05 15:16:35 241

原创 linux版本jdk1.8快速下载连接,拿走

jdk1.8下载地址链接:https://pan.baidu.com/s/1mvrfqTnzRTjaNsYc0mEc6w提取码:x4lv

2020-06-28 16:37:10 3146

原创 一文全解决,字符编码问题

请看大佬博客http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

2020-06-11 15:00:20 145

原创 2019总结:别人眼中的不错了,自己总感觉浑浑噩噩,需要再次相信

还有4天就元旦了,2020年就在眼前了,08年奥运会已经过去11年了,陈奕迅的《十年》也是15年前的歌了2019年顺利毕业,拿到别人觉得不错的offer(和大佬比起来,当然没法和大佬比),来到了上海工作,父母也欣慰但是在自己内心,总感觉是错的,生活方式、理想追求、自己的热爱等等;觉得自己有无数的话,可以讲可以聊,但是总是没有头绪,没有释放压力释放情绪的地方、、、、、、现在坐在办...

2019-12-27 14:54:15 3871 16

原创 Java毕业设计,课程设计,java图书管理系统

图书系统

2019-12-12 18:17:35 3339 6

原创 毕业设计,管理系统,大学生毕业设计应该这么做

个人认为软件开发---大学生毕业设计的正常流程应该是这样的:1.毕业设计选题(3小时),选择一个自己熟悉的,题目尽量新颖,避免最后查重过高,降重困难;2.如果会java web开发,中间时间随便玩,或者出去找工作上班,不需要管毕业设计了;如果不会,就要自己自学了,也可以通过定制毕业设计从而有个快速成品,在成品的基础上学习,可以更加快速成长3. 接下来撰写毕业设计论文以及查重降重,修改测...

2019-12-10 17:58:27 12855 11

原创 理解Maven生命周期和插件详情

早在Maven出现之前,项目构建的生命周期就已经存在了,软件开发人员每天都对项目进行清理、编译、测试和部署。通过Maven更加方便管理项目的各个生命周期。Maven本质是一个插件框架,本身并不执行任何构建任务,所有的工作都是交给插件来完成的。熟练使用Maven插件,可以让我们的开发工作事半功倍一、maven生命周期和插件关系 生命周期和插件是Maven的两个...

2019-08-01 20:41:03 602

原创 彻底搞清字符编码:ASCII、Unicode、UTF-8、GBK之间联系区别

马上投入工作了,今天在复习Class文件结构时,文中提到UTF-8缩略编码。之前对ASCII、UTF-8、Unicode等编码一直处在模糊状态,今天分享一下自己的学习心得。本着简单易懂的想法,写博客。首先搞清为什么需要字符编码在计算机内部,所有的信息都是使用0和1这样二进制字符串表示的。当我们需要把字符'A'存入计算机时,应该对应哪种状态呢,存储时,我们可以将字符'A'用01000010...

2019-02-24 09:04:13 1430 1

原创 Java实现,二叉树递归非递归,前序中序后序遍历(通俗易懂)

想要弄懂Java的一个知识点,没有比亲自手写一遍更好的方法仔细研究手写一遍,一定会收获满满,没有你想想中那么难小编下面以这个二叉树为例,测试代码以下是完整的四个类代码,大家可先放在自己本地IDE上调试查看,更加清晰我们需要先将二叉树构建出来,然后进行递归非递归前序中序后序遍历//二叉树的基本结点public class Node { Object data...

2018-10-04 08:45:18 11933 4

原创 Java手写LinkedList 应用数据结构之双向链表

作为Java程序员,扎实的数据结构算法能力是必须的LinkedList理解的最好方式是,自己手动实现它        ArrayList和LinkedList是顺序存储结构和链式存储结构的表在java语言中的实现.  ArrayList提供了一种可增长数组的实现,使用ArrayList,因为内部使用数组实现,所以,它的优点是,对于get和set操作调用花费常数时间.缺点是插入元素和...

2018-10-02 20:35:52 1240 1

原创 Java的外部类,为什么只能使用public和default进行修饰

对于这个问题,一直没有仔细思考对于顶级类(外部类)来说,只有两种修饰符:public和默认(default)。因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置。因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:public和默认(default)。可以满足所有的情况了。如果类使用了private修饰符,说明是个内部类。内部类的上一级是外部类,那么...

2018-09-08 18:21:01 4654

原创 Java程序员能否手动释放内存,以及指定释放内存时间

Java和c++之间有一堵由内存分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人想出来 java的GC回收是完全自动的,没有提供相关api手动回收,所有的内存分配和回收权限都在jvm,不在开发人员手里没有绝对的强制垃圾回收的方法,不过可以这样去做:1. 对于不再引用的对象,及时把它的引用赋为null。 obj = null;2. 如果内存确实很紧张,调用System...

2018-08-29 16:14:01 32382 3

原创 贪心算法典型应用,以及函数技巧使用

贪心:定义 • 本质:每步只选择当前最优解 • 局部最优=全局最优解? • 这是非常强的性质 • 总的来说: • 想到容易(不记录历史状态,符合人类直觉) • 证明困难(反证法,矩阵胚)• 应用广泛(求较优解)接下来直接上题目,已练代理解贪心:例题1 • 有若干个活动,第i个开始时间和结束时间是[Si, Ei),活动之 间不能重合,求最多安排多少个任务?• 贪心策...

2018-08-29 12:29:26 1364

原创 最易懂解释静态方法static为什么不能访问非静态方法和属性

不管是静态方法还是静态成员,都是类级别存在的也就是说随着类的加载而加载,优先于对象的存在而非静态成员和方法是对象级别的存在所以在静态方法中调用非静态的成员或方法(此时还不存在对象),是不可能的,但是反过来是可以的:非静态中调用静态。于是也就有静态方法中不能使用this和super关键字...

2018-08-29 09:05:18 2746

原创 二维数组的Comparator用法:同时将二维数组的两列作为条件

最近小编,在积极备战秋招大战,在编程题方面,许多题目用到了排序,都用到 java.util.Comparator 比较器,特别是在有的地方需要对二维数组排序说重点但是在比较时,只能将二维数组的一列,作为条件比较,比如你的数组是 int arr[][] = new int [3][2],不能同时将数组的两列作为条件判断,发现可以依据判断条件,可以同时判断二维数组的两列,这在以后工作学习中,会...

2018-08-28 22:16:56 2194

原创 .class和getClass()深度理解

能用一句话说清楚的绝不多说,能从原理讲起的,绝不从表面讲解。java有两个获得类名的方法getClass()和class(),这两个方法看似一样,实则不然。这两个方法涉及到了java中的反射。.class 用于类  而 getClass()用于对象。.class和getClass()使用java程序可以得到运行时的类,其实得到就是 Class<T> 一个泛型 的 Class对象 T...

2018-08-26 14:24:19 1152

原创 类加载顺序,JVM角度分析理解,类构造器方法<clinit>以及实例构造器方法<init>执行顺序

今天先来分析一下经常遇到的一个问题,在笔试面试中可能会经常遇见,类中字段代码块的加载顺序等,从jvm角度分析一下这个问题。我们先来看下知识点,接下来进行代码实践验证。&lt;clinit&gt;,类构造器方法,在jvm第一次加载class文件时调用,因为是类级别的,所以只加载一次,是编译器自动收集类中所有类变量(static修饰的变量)和静态语句块(static{}),中的语句合并产生的,编译...

2018-08-20 10:31:52 4003 1

原创 手撕代码:Java实现LeetCode最长回文串

解决最长回文串,先来看下问题描述问题描述回文串(palindromic string)是指这个字符串无论从左读还是从右读,所读的顺序是一样的;简而言之,回文串是左右对称的。所谓最长回文子串问题,是指对于一个给定的母串abcdedcb从所有的为回文串的子串a, ded, cdedc, bcdedcb中;找出最长的那一个bcdedcb。但是该如何判断子串是否回文然后找出最长者呢?正好L...

2018-08-16 17:48:56 337

原创 最新JDK8HashMamp实现过程源码分析(二)

我们继续进行HashMap的源码实现分析1、hash函数的实现,以及为什么table必须是2的N次方  在get和put的过程中,计算下标时,先对hashCode进行hash操作,然后再通过hash值进一步计算下标,如下图所示: HashMap源码是这样实现的static final int hash(Object key) { int h; return (...

2018-07-30 12:07:15 574

原创 最新JDK8HashMap实现过程源码分析

小编道行也没那么深,就用最通俗易懂的方式,来解释hashmap实现原理。本文基于JDK8分析HashMap(),我们从源码出发将主要分析讨论如下的几个知识点:HashMap的特点是什么?以及它的使用场景 HashMap的数据结构? HashMap的工作原理是什么? equals和hashCode都有什么作用? 重写equals()为什么一定要重写hashCode()? HashMap...

2018-07-30 10:21:00 1706

原创 对比 Hashtable、HashMap、TreeMap 的区别联系以及适用场景

典型回答 1、hashtable是早起java类库提供的一个哈希表实现,本身是同步的,不支持null键和空值,由于同步导致的性能开销,现在已经很少被使用了2、hashmap是应用更加广泛的哈希表实现,应为大体和hashtable一致,不同点是hashmap支持null键和空值,而且不是同步的。他的put和get方法,可以达到常数时间的性能,是绝大多数利用键值对存取场景的首选3、tr...

2018-07-29 09:04:35 3074

原创 详解String、StringBuffer、StringBuilder区别联系以及适用场景

1 String(1) String的创建机理由于String在Java世界中使用过于频繁,Java为了避免在一个系统中产生大量的String对象,引入了字符串常量池。其运行机制是:创建一个字符串时,首先检查池中是否有值相同的字符串对象,如果有则不需要创建直接从池中刚查找到的对象引用;如果没有则新建字符串对象,返回对象引用,并且将新创建的对象放入池中。但是,通过new方法创建的String对象...

2018-07-23 16:23:31 311

原创 NoClassDefFoundError和ClassNotFoundException的区别

我们容易把java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError这两个错误搞混。虽然他们都与Java classpath有关,但是他们完全不同。NoClassDefFoundError发生在JVM在动态运行时,根据你提供的类名,在classpath中找到对应的类进行加载,但当它找不到这个类时,就发生了java.lang.N...

2018-07-21 08:14:15 161

原创 详解访问修饰符protected和default的区别

访问修饰符,即对访问范围的控制。在Java中,有以下几种访问修饰符:1.对类而言:(1)public:在所有的包中均可见(2)default(默认):只在该类所在包中可见注:类不能用private和protected来修饰2.对成员变量和成员方法而言:(1)public:在所有包中均可见(且可调用)(2)protected:包内所有类中均可见(且可调用),包外有继承关系...

2018-07-20 18:50:26 3620

原创 详解java构造函数,以及父类子类之间构造函数的关系

 主要解析复习类的构造函数:首先明确一点:在一个类中没有任何构造函数时,编译器会自动给该类创建一个不带参数的构造方法,如果自己定义了构造函数则编译器不会自动创建构造函数***接下来我们看下继承之间构造函数直接的关系     1.父类中没有有参构造函数,不管无参构造是不是你自己创建的此时在子类中的构造函数不管是有参还是无参不管是自己创建还是编译器创建,子类都都会调用父类中的一...

2018-07-20 16:36:56 700

原创 详解Java平台

首先我们回顾JRE(Java Runtime Environment )java运行环境,以及JDK(Java Development Kit)组成jre是java运行环境,包含JVM,java类库以及一些模块,jdk可以看做是jre的超集,提供了更多工具,比如编译器各种诊断工具 java平台 java平台顾名思义就是,java语言在计算机上能执行的环境以及工具宏观角度     ...

2018-07-19 18:58:59 278

原创 最新浅析java源代码转换为机器码的编译执行过程

我们先来看一下编译型语言和解释型语言的之间的区别联系 编译型语言:C/C++      编译过程是将源代码(高级语言,人类容易读,容易理解),转换为机器码(cpu能理解,能高效的执行)的过程.解释型语言:JavaScript  python 等     直接解释源代码,并且直接执行,没有编译过程编译程序是整体编译完了,再一次执行,而解释程序是边解释边执行. 那么jav...

2018-07-19 09:47:07 7289

websocket聊天项目

采用websocket技术,实现一个聊天室,有助于初学者,进行了解底层代码,充分理解java思想

2017-12-17

菜单管理系统

前台采用jspjs技术,展示菜单餐桌订单,后台可以进行菜单的管理,订单的管理以及菜种的管理

2017-12-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除