
java核心技术
文章平均质量分 81
染小柒*
这个作者很懒,什么都没留下…
展开
-
面试手撕代码(五)-动态规划
面试手撕代码(五)-动态规划1.背包问题public class Main { public static int backPack(int[] w, int[] v, int m){ int[][] dp = new int[v.length+1][m+1]; int[] items = new int[v.length+1]; for (...原创 2019-10-19 09:53:12 · 746 阅读 · 0 评论 -
面试手撕代码(四)-树
面试手撕代码(四)-树遍历二叉树1.递归调用二叉树public static TreeNode dfs(TreeNode root){ System.out.println(root.val); dfs(root.left); dfs(root.right);}2.非递归调用二叉树(1)前序遍历 public List<Integer> preorderTrav...原创 2019-10-19 09:42:17 · 364 阅读 · 0 评论 -
面试手撕代码总结(三)-栈
面试手撕代码总结(三)-栈1.使用数组实现栈public class MyStack<E>{ private Object[] stack; private int size; public MyStack(){ stack=new Object[10]; } //判断栈是否为空 public boolean isEmpty(){ ret...原创 2019-10-19 09:39:58 · 329 阅读 · 0 评论 -
面试手撕代码总结(二)-链表篇
面试手撕代码总结(二)-链表篇1.合并两个有序链表 public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null){ return list2; } if(list2==null){ return list1;...原创 2019-10-19 09:38:26 · 494 阅读 · 0 评论 -
面试手撕代码总结(一)-排序篇
1.冒泡排序:(1)从右往左进行比较,小的冒泡public void bubbleSort(int[] a,int n){ for(int i=0;i<n;i++){ // 从后向前依次的比较相邻两个数的大小,遍历一次后,把数组中第i小的数放在第i个位置上 for (int j = n - 1; j > i; j--) { // 比较相邻的元素,如果前面的数...原创 2019-10-19 09:34:57 · 1206 阅读 · 0 评论 -
面试总结-java工程师面试大纲
java工程师面试大纲除了java的基础知识还包括以下几个内容:JVM- JVM内存区域:重点注意堆栈的区别- JVM运行时内存(新生代、老年代、永久代)注意jdk7/8的区别- 如何进行确定垃圾回收(引用计数法、可达性分析)- 垃圾回收算法(复制算法、标记清除算法、标记整理算法、分代收集)- java中四大引用类型(强/软/弱/虚引用)- GC垃圾收集器- 内存溢出/内存泄...原创 2019-10-15 09:42:07 · 263 阅读 · 0 评论 -
有关线程编程题集锦
**线程编程题目:**1.编写10个线程,第一个线程从1加到10,第二个线程从11加20…第十个线程从91加到100,最后再把10个线程结果相加。public class Test01 { public static void main(String[] args) throws InterruptedException { int result=0; for (int i = ...原创 2019-08-05 13:43:26 · 1620 阅读 · 1 评论 -
贪心算法-移除K个数字(2018小米秋招 笔试)
题目描述:有一十进制正整数,移除其中的 K 个数,使剩下的数字是所有可能中最大的。假设:字符串的长度一定大于等于 K字符串不会以 0 开头输入:1432219 3输出:4329算法:import java.util.Scanner;import java.util.Stack;public class DeleteK { public static ...原创 2019-08-05 13:36:21 · 849 阅读 · 0 评论 -
java面试总结(四)- 框架集锦
**1.Spring1.1 Spring是什么?**Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC服务;Spring Conte...原创 2019-07-27 14:03:15 · 172 阅读 · 0 评论 -
会话技术Cookie&Session
会话技术Cookie&Session一、会话技术简介1.存储客户端的状态由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪 里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并 不知道该客户端是谁,所以需要会话技术识别客户端的状态。会话技术是帮助服务器 记住客户端状态(区分客户端)2.会话技术从打开一个浏览器访问某个站点,到关闭这个...原创 2019-07-03 12:57:02 · 168 阅读 · 0 评论 -
java基础-冒泡排序之java实现
冒泡排序之java实现原理:比较两个相邻的元素,将值大的元素交换至右端。思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。举例说明:要排序数组:int[] arr={6,3,8,2,9,1}...原创 2019-07-03 12:51:15 · 168 阅读 · 0 评论 -
java基础-堆排序之java实现
堆排序之java实现堆积排序(Heapsort)是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。堆排序是不稳定的排序方法,辅助空间为O(1), 最坏时间复杂度为O(nlog2n) ,堆排序的堆序的平均性能较接近于最坏性能。堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单...原创 2019-07-03 12:47:33 · 133 阅读 · 0 评论 -
java基础-归并排序之java实现
归并排序之java实现归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序...原创 2019-07-03 12:46:14 · 688 阅读 · 0 评论 -
java基础-遍历树形结构之java实现
遍历树形结构之java实现(深度优先+广度优先)在编程生活中,我们总会遇见树性结构,这几天刚好需要对树形结构操作,就记录下自己的操作方式以及过程。现在假设有一颗这样树,(是不是二叉树都没关系,原理都是一样的)1 深度优先英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。对于上面的例子来说深度优先遍历...原创 2019-07-03 12:44:36 · 6660 阅读 · 1 评论 -
验证Stringbuffer 与StringBuilder的区别:线程安全与非线程安全。
验证Stringbuffer 与StringBuilder的区别:线程安全与非线程安全。package prepare;import java.util.concurrent.CountDownLatch;import org.junit.Test;/** * * @author zr *验证Stringbuffer 与StringBuilder的区别:线程安全与非线程安全。...原创 2019-03-13 21:55:50 · 2325 阅读 · 0 评论 -
java基础代码-实现键盘输入
1、使用Scanner类实现键盘输入import java.util.Scanner;/* * 使用scanner 进行输出 */public class TestInputScanner { public static void main(String[] args) { Scanner stdinScanner = new Scanner(System.in);...原创 2019-03-24 10:20:42 · 14194 阅读 · 0 评论 -
Java基础-List接口
List集合1.1 list概述List接口继承Collection接口,实现了List接口的类称为List集合。在List集合中允许出现重复的元素,所有元素以线性方式进行存储,可以通过索引来访问集合中指定的元素。List集合的元素的存储顺序和取出顺序一致。List不但继承了Collection接口中的全部方法,还增加了一些根据元素位置索引来操作集合的特有方法。list集合主要分为...原创 2019-04-10 14:39:30 · 262 阅读 · 0 评论 -
Java基础-Map
Map2.1概述 Map接口是java定义的一种键值对映射的数据结构接口,其实现方式有四种:HashMap,LinkedHashMap,Hashtable,TreeMap。 2.2 HashMap基于hash表的Map接ロ実現,非銭程安全,高效, 支持null値和null健。存储数据采用哈希表结构,元素存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方...原创 2019-04-10 14:42:55 · 176 阅读 · 0 评论 -
java基础-Set
Set3.1概述一个不包含重复元素的 collection。无序且唯一。HashSet、LinkedHashSet、TreeSet3.2 HashSet此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。注意,此实现不是同步的。如果多个线程同时访问一个哈希 set,而其...原创 2019-04-10 14:44:04 · 151 阅读 · 0 评论 -
Java面试总结(一)-面向对象编程
java面试总结(一)第一部分-面向对象编程1 Java的三大特性面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。继承是为了重用父类代码。继承给对象提供了从基类获取字段和方法的能力。继承提供了代码的重用性,也可以在不修改类的情况下给现存的类添加新...原创 2019-07-03 10:27:08 · 344 阅读 · 0 评论 -
java面试总结(二)-集合类
java面试总结(二)第二部分-集合类1概述集合框架分为两部分:Collection(Set、List)和Map。(无序、唯一)按照体系进行划分,集合类型可以分为三类:集(Set)列表(List)、映射(Map)。1.1 Set集合中不允许出现重复的元素;集合不区分元素顺序。Set集合主要包括:HashSet、LinkedHashSet、TreeSet。**HashSet:**...原创 2019-07-03 10:31:37 · 216 阅读 · 0 评论 -
java面试总结(三)-线程
java面试总结(三)第三部分-线程1线程概述1.1 什么是进程呢?进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间),比如用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间。当用户再次点击左面的IE浏览器,又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间。目前操作系统都支持多进程。1.2 什么是线程呢?线程是进程中的一...原创 2019-07-03 10:39:58 · 260 阅读 · 0 评论 -
java基础-快速排序算法Java实现
快速排序算法Java实现1 算法概念。快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。2 算法思想。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。3 实现思路。①以第一个关键字 K...原创 2019-07-03 12:33:05 · 905 阅读 · 0 评论 -
java基础-二分查找算法之JAVA实现
二分查找算法之JAVA实现1 算法概念。二分查找算法也称为折半搜索、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。请注意这种算法是建立在有序数组基础上的。2 算法思想。①搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;②如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。③如果在某一步...原创 2019-07-03 12:39:29 · 310 阅读 · 0 评论 -
java基础-二叉树之Java实现
二叉树之Java实现1 二叉树概念二叉树是一种非常重要的数据结构,它同时具有数组和链表各自的特点:它可以像数组一样快速查找,也可以像链表一样快速添加。但是他也有自己的缺点:删除操作复杂。二叉树:是每个结点最多有两个子树的有序树,在使用二叉树的时候,数据并不是随便插入到节点中的,一个节点的左子节点的关键值必须小于此节点,右子节点的关键值必须大于或者是等于此节点,所以又称二叉查找树、二叉排序...原创 2019-07-03 12:42:05 · 667 阅读 · 0 评论 -
32位IP 地址转换成字符串IP(2018小米秋招 选择)
第一种方法:package prepare;/** * * @author zr *32位的IP地址转换成字符串IP地址 */public class ipaddress01 { public static final String long2Ip(final long ip) { final long[] mask = { 0x000000FF, 0x00...原创 2019-03-13 21:40:16 · 2046 阅读 · 0 评论