2 WayJasy

尚未进行身份认证

叁肆伍叁,伍肆伍物

等级
TA的排名 6w+

面试题专题一: Java基础

面试题专题一Java基础1. JAVA 中的几种基本数据类型是什么,各自占用多少字节int :4long:8float:4double:8boolean:2char:2byte:1short:22. String 类能被继承吗,为什么。不能。String类底层是一个由final关键字修饰的value数组,由final修饰的变量表示不可改变。同时Stirng类也是由final修饰的,不可被继承。3. String,StringBuffer,StringBuilder 的区别可变

2020-05-20 23:24:33

MySQL性能优化的21个方法(个人理解)

1. 使用查询缓存优化查询我们知道,一条SQL语句的执行需要经过:解析、优化和截断过程。当有相同的查询SQL被执行了多次时,这些查询结果就会放到一个缓存中。后续相同的查询结果就不需要再次执行SQL语句,而直接从缓存中获取结果。加快了查询性能。目前大多数MySQL数据库自动开启了查询缓存。但是如果我们使用一些数据不固定的查询语句(例如使用rand()函数),这样就导致每次查询的结果都不固定,数据库就不会使用查询缓存。2. EXPLAIN 你的select 查询使用 explain 命令可以让你知道My

2020-05-20 11:28:37

进程间的六种通信方式简记

管道管道在创建之初会开辟一块固定大小的内存区域,因此对于数据量较大的情况,管道是难以应付的。消息队列send Message发送消息, receive 读取消息。 其中有两次copy数据的过程,会有额外的CPU消耗,不适合频繁且数据量大的通信。共享内存多个进程共享一块共享内存。进程间是没有同步机制的,通过信号量可以去实现这么一个同步机制。套接字(Socket)单机情况下也能使用的通信方式,但是效率较低信号量本质上是一个锁机制,通过加锁来实现进程间互斥。信号本身并..

2020-05-09 18:25:30

最大正方形 leetcode221

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4思路:1、暴力O(n2∗m2)O(n^2*m^2)O(n2∗m2)就不说了2、动态规划dp[i][j]dp[i][j]dp[i][j]表示从(0,0)(0,0)(0,0)开始到(i,j)(i,j)(i...

2020-05-04 17:03:15

链表专题 3. 删除链表节点

题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。思路对于头结点不好处理的题,通常设置一个哑结点作为 “头”/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * L...

2020-05-01 23:45:31

链表专题 2. 求链表交点

leecode题目描述:给出两个单链表,求他们的公共交点思路:如果两条链表有交点x,那么他们在x后面的节点都是相同的。先求出链表长度差 dif,遍历其中一条链表使他们的长度相同,然后一顿乱搞。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNo...

2020-05-01 15:55:34

链表专题:1、合并有序链表

题目描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4/** * Definition for singly-linked list. * public class ListNode { * ...

2020-05-01 14:52:32

jdk14 新特性

Java14新特性1. instanceof 模式匹配旧:类型匹配后的使用,需要强制转换private static void old(Object obj) { if(obj instanceof String){ String str = (String)obj; System.out.println(str.contain("java")); ...

2020-04-30 17:08:54

TCP相关问题极简分析

TCPTCP:全双工可靠传输,面向字节流传输Tcp三次握手① Server处于空闲监听LISTEN状态② Client发送SYN连接请求,然后处于SYS_SENT状态 (第一次握手)③ Server收到请求,发送ACK应答,表示收到了请求,同时间再发送SYN信号给Client,表示可以建立连接了。此时Server处于SYN_RECD状态 (第二次握手)④ Client收到Serv...

2020-04-27 12:30:54

剑指offer 67题 10 链表中倒数第k个结点

题目描述输入一个链表,输出该链表中倒数第k个结点。思路遍历链表存到list中,然后使用Collections集合工具类翻转取值,注意判断一些边界条件/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}...

2020-04-26 23:44:28

HashMap初始容量设置问题

HashMap初始容量设置问题我们都知道HashMap的默认容量为16,但是:HashMap<Object, Object> objectObjectHashMap = new HashMap<>(13); //13为自定义的hashmap容量为什么我们可以这样设置HashMap的容量而不报错呢?分析一下HashMap源码:调用了两个参数的构造方法我们注意...

2020-04-26 00:08:23

关于JAVA动态代理的一些个人理解和实现(基于JDK)

跟着步骤来:1、首先创建一个UserDao接口public interface UserDao { public void add(); public void delete(); public void search(); public void change();}2、创建一个UserDaoImpl实现类public class UserDaoIm...

2020-04-25 15:31:24

剑指offer 67题 9 矩形覆盖

牛客题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路很容易想到:21只有一种方法。22有两种方法。那 2 * 3, 2 * 4, 2 * n 呢?2*3的摆放方法可以看成:(2 * 2的摆放数,最后再摆一块) + (2 * 1的摆放数,最后再摆两块)那么我们设dp[n]dp[n]dp[n]表...

2020-04-23 10:22:44

剑指offer 67题 8 变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路《跳台阶》那题是一次只能跳1级或2级,这题是一次可以跳任意级。思路和前一题一样dp[n]dp[n]dp[n]表示跳到nnn级的方案数dp[n]=dp[n−1]+dp[n−2]+.....+dp[1]+1dp[n] = dp[n-1]+dp[n-2]+.....+dp...

2020-04-23 09:40:21

记一下redis(ubuntu)安装过程

1. 下载安装包$ wget http://download.redis.io/releases/redis-xxx.tar.gz#xxx改为对应的版本号,版本号可上官网看2. 解压$ tar -xzvf redis-xxx.tar.gz3. 安装进入解压出来的redis目录,然后执行$ make$ make install #这条命令需要在root权限下执行 4....

2020-04-22 17:46:38

剑指offer 67题 7 跳台阶

牛客题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路设跳n级台阶的方案数为 dp[n]dp[n]dp[n]由于青蛙一次可以跳上1级或2级,那么:dp[n]=dp[n−1]+dp[n−2]dp[n] = dp[n-1] + dp[n-2]dp[n]=dp[n−1]+dp[n−2]dp[n]dp[n]dp[...

2020-04-21 23:20:16

剑指offer 67题 6 斐波那契数列

<牛客> 斐波那契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项为1)。n<=39思路没思路,直接迭代。public class Solution { public int Fibonacci(int n) { int a = 0,b = 1; int c ...

2020-04-21 10:16:16

剑指offer 67题 6 旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路这题有一个时间复杂度更小的做法:二分旋转后的数组一定是前半部分非严格递增的,后半部分也是非严格递增,且...

2020-04-21 10:09:12

剑指offer 67题 5 用两个栈实现队列

《牛客》用两个栈实现队列题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路明白栈是FILO(先入后出)的数据结构,队列是FIFO(先入先出)的数据结构。stack1先入的元素需要它先出,那么就需要将它的元素存入另一个栈stack2,这样最先入的元素就变成了stack2的栈顶,那么就可以先出了,实现了队列的操作。import java.uti...

2020-04-21 09:51:11

剑指offer 67题 4 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路这题要稍微找下规律。首先根据前序序列,可以很容易知道,根节点一定是序列的第一个元素那么就可以找到中序序列中根节点的位置。知道了中序序列根节点...

2020-04-20 21:28:50

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。