学术分析
Java小柴
来自于一个java自学者的坚持
展开
-
深入理解多线程____javaSE基础回顾
我是小柴,回顾学习java基础差不多有两个月了,个人感觉学习一门语言最可贵的就是坚持,做任何一件事最大的难题不是入手难易程度,而是自己能不能坚持走下去,我曾经听一位大牛说过,如何把你学到的东西彻底掌握?方法就是把你所学到的东西再传授另一个人,那怎么办呢,我们不可能回家拉着小学文化程度的父母谈JDK虚拟机,拿着计算机概论对着奶奶聊人工智能大数据吧;所以我决定在自己学习完SE基础后养成每周一篇博客的习...原创 2018-08-19 12:07:56 · 345 阅读 · 0 评论 -
利用反射技术在泛型String集合中存入Integer元素
首先我们来了解一下什么叫反射:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。需求:在不修改源代码的情况下将泛型为 的Arraylist集合中存入Integer元素.原理: 程序编译后产生的.class文件中是没有泛型约束的,这种现象...原创 2018-10-10 15:55:28 · 1684 阅读 · 0 评论 -
二叉树遍历查找等功能具体代码实现
什么是二叉树?在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。二叉树的子树有左右之分,并且次序不能任意颠倒。二叉树是递归定义的,所以一般二叉树的相关功能操作需要依靠递归实现.创建一个节点类定义节点类Node,分为三个部分,第一个部分存储元素,元素类型可以为object;这里我们一般存储int数据;另外两个部分就是子代...原创 2018-10-13 23:00:26 · 1259 阅读 · 0 评论 -
算法结合堆列实现十进制转二进制
我们都知道十进制转二进制的算法是被除数除2后得出的余数都是从下往上读出的一串数字就是二进制所以我们利用Deque的堆栈数据存储结构:先进后出的形式,Deque的实现主要用LinkedList实现.现在我们来看代码:public class StackDemo { public static void main(String[] args) { //定义一个需要转二进制的十进制数 in...原创 2018-10-12 21:26:48 · 431 阅读 · 0 评论 -
自主代码封装LinkedList集合对象
LinkedList集合内部是链表数据结构存储元素机制,前一个存储节点对象记住下一个存储节点对象的地址这样环环相扣形成一个链条,就像自行车的链条一样.每存储一个元素在链表最后节点处记住新元素对象的地址,当需要删除一个元素只需在被删除元素的前一个元素切断与被删除元素的地址引用替换成指向被删除元素后一个元素的地址,被删除元素因为没有被任何对象地址引用 则会被垃圾回收清理从而达到删除元素的效果.了解链...原创 2018-10-05 10:53:38 · 477 阅读 · 0 评论 -
深入理解ArrayList集合内部原理并自主封装代码实现ArrayList集合功能
集合框架是java基础学习中非常重要的一部分,学会集合用法的同时去了解一下集合内部代码实现原理对我们日后的java学习的帮助是十分大的;我们现在来了解一下ArrayList原理:ArrayList内部其实就是封装一个默认固定大小的对象数组;不过数组的大小是可动态改变的;当存储一定的元素超出数组原有大小时,此时list对象会动态创建一个容量更大的数组,再将原有数组内的元素复制到新数组中去;这也就意味...原创 2018-10-04 21:27:27 · 437 阅读 · 0 评论 -
用面向对象思想实现ArrayList代码
定义了List接口,定义我们想要实现的ArrayList类想要的功能方法public interface List { public void add(Object obj); public int size(); public void add(int i,Object obj); public void remove(Object obj); public void...原创 2018-10-11 22:08:00 · 564 阅读 · 0 评论 -
斐波那契经典案例具体代码实现
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…. 第一第二个月兔子不生育,对数为一对,从第三个月开始兔子对数为两个月兔子对数之和,所以我们这采用递归实现累加操作 具体代码实现如下: ...原创 2018-09-12 18:00:29 · 1271 阅读 · 0 评论 -
一名合格的程序员必读的经典书籍
《程序员代码面试指南》(左程云): 这本书里面涉及了很多面试和笔试中频率出现非常高的代码和算法最优解的题目。需要花大量时间精读《java程序员面试宝典》:非常经典的一本书,非常通俗实用,覆盖的知识面非常广,可以以这本书为基础点,不懂得地方再去找该知识点扩散。《深入理解java虚拟机》:讲解了java虚拟机工作原理,内存分布,GC等等,这本书也是一定要精读并且深入读的,在面试中java垃...转载 2018-09-09 09:53:38 · 336 阅读 · 0 评论 -
学习JAVA以后是怎么找工作的呢?
最低什么程度就可以出去碰碰运气? 我这里并不是教大家投机取巧,而是为不了解求职的小白朋友提供一个参考。理论上当然是基础越牢固越好,你最好把科班的“四大课”都啃了。 就我自己做外包的经验,基本上培训视频中ssm框架往后教的就用不太到了,什么redis,ActiveMQ负载均衡等等,都用不太到(但我不敢打包票)。而且你一个零基础的,学了能咋滴?工作一两年的人都没怎么搞透的技术,你还能用它写出花?最...转载 2018-09-08 11:16:11 · 2114 阅读 · 3 评论 -
String类之______自定义翻转字符串中指定部分
抛出目的需求;给出一个字符串;将字符串中指定部分进行反转; 例如操作需求: 给出字符串:”abcd” // 将”abcd”中的”bc”进行翻转成”cb”; 输出为”acbd”; 我们来自定义一个reserved方法 这个方法略有复杂 ,我们再扩展一个方法 以上是方法实现细节我们来看看主方法 两...原创 2018-08-24 13:08:55 · 594 阅读 · 0 评论 -
面试题必考系列:插入排序法
插入排序相比于之前的冒泡二分法排序难度更大一点,排序过程涉及到三个循环加两个判断,想完成该算法需要了解插入排序的三个循环的原理,我在草稿纸大概描述了其中的大致原理,思路可能不太好理解,先慢慢体会一下其中的排序的原理:代码实现:public class insertSortDemo { public static void main(String[] args) { int [] int...原创 2018-10-23 21:18:13 · 441 阅读 · 0 评论