Java开发
bruce_xia6116
这个作者很懒,什么都没留下…
展开
-
一文看懂计算机网络
计算机网络计算机网络协议操作系统概念互联网的相关概念互联网组成计算机网络的性能指标网络通信原理互联网的本质就是一系列的网络协议互联网两大要素OSI参考模型以及TCP/IP四层模型、五层协议1、物理层2、数据连接层3、网络层传输层通信过程、数据传输通信过程:小结三次握手和四次挥手TCP报头三次握手四次挥手常见问题【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?【问题2】为什么TIME_...原创 2019-08-08 19:11:02 · 957 阅读 · 0 评论 -
八大排序算法经典总结
文章目录常见的几种排序算法冒泡法选择排序算法插入排序算法希尔排序归并排序快速排序堆排序基数排序总结常见的几种排序算法冒泡法冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。1、比较相邻的元素如果第一个比第二个大,就交换它们两个。2、对每一对相邻元素作同样...原创 2019-08-17 15:13:13 · 357 阅读 · 1 评论 -
字符串反转的经典案例
字符串反转字符串反转中较为经典的一个案例就是,要求将给定字符串反序输出,但是要求单词本身的字符顺序不变。例如输入:the sky is blue要求输出:blue is sky the。/** * 题目描述: * 给定一段英文字符串,要求逆序输出,例如输入:the sky is blue要求输出:blue is sky the */public class Sring_Tes...原创 2019-08-17 15:32:48 · 338 阅读 · 0 评论 -
多种方法实现两个线程交替打印奇偶数
交替打印奇偶数问题描述: 构造两个线程,交替打印1-100之间的数字,其中线程1打印奇数,线程2打印偶数。 方式1:采用synchronized同步锁和wait,notify线程通信机制来实现。public class jiaotidayinshuzi { public static void main(String[] args){ PrintNum p...原创 2019-08-26 17:11:32 · 3107 阅读 · 0 评论 -
两种方式实现双向链表的反转
双向链表的反转双向链表的反转,两种方式实现,1、利用指针遍历的方式实现;2、不采用指针,直接用数据交换的方式进行反转。public class shuangxianglianbaiofanzhuan { public static void main(String[] args){ DoubleLinkedList<Integer> list=new Dou...原创 2019-08-26 18:42:28 · 7272 阅读 · 1 评论 -
单链表按位求和的多种实现方式
单链表求和问题描述:给定两个链表,分别表示两个非负整数。它们的数字逆序存储在链表中,且每个结点只存储一个数字,计算两个数的和,并且返回和的链表头指针。例如输入:2->4->3、5->6->4,输出:7->0->8解题思路: 首先定义两个指针分别指向两条链表的头结点同时定义一个进位标注符初始值为0,然后判断两个指针指向的节点都不为空时,定义一个新的...原创 2019-08-26 18:58:32 · 753 阅读 · 0 评论 -
二分法查找
二分法查找java实现题目描述:采用二分法查找,查找到给定元素则返回下标;若未找到则返回-1;public class BinarySearch { public static void main(String[] args){ int[] arr={2,4,6,7,8,9,10,17,19,20,34,78,89}; System.out.print(...原创 2019-08-26 19:00:41 · 126 阅读 · 0 评论 -
字符串空格去除问题
去除字符串开头,结尾和中间多余的空格题目描述,键盘接收一行输入带空格的字符串,请编写函数输出去掉字符串中多余空格后的字符串(首尾空格去掉,中间的多个连续空格替换为单个空格)public class ReplaceBlankInString { public static void main(String[] args){ Scanner sc=new Scanner(S...原创 2019-08-26 19:03:30 · 406 阅读 · 0 评论 -
最长子串问题
最长子串问题问题描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。public class LeetCode_03_zifuchuan { public static void main(String[] args){ Scann...原创 2019-08-26 19:07:38 · 687 阅读 · 0 评论 -
字符串回文串问题
判断一个整数是否是回文数题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如:输入: 121输出: true输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。public class LeetCode_09_huiwenshu { publi...原创 2019-08-26 19:11:12 · 96 阅读 · 0 评论 -
Spring中常用注解一览
文章目录Spring中常用注解第一类Bean注解第二类属性变量注解第三类其它类型注解Spring中常用注解第一类Bean注解@Controller:用于标注控制层组件; @Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象,分发处理器将会扫描使用被该注解器注解的类的方法,并检测该方法是否使用了@RequestMapping注解。...原创 2019-08-29 09:26:09 · 347 阅读 · 0 评论 -
线程通信(调用)之wait\notify,sleep,join
文章目录线程间通信等待/通知机制等待/通知机制的实现(wait/notify)join方法类ThreadLocal的使用sleep()与wait()的区别sleep()与 yield()的区别join方法结论线程间通信线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体。线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大...原创 2019-08-22 10:29:39 · 519 阅读 · 0 评论 -
深度解密Mysql数据库索引
文章目录深度理解Mysql数据库索引Mysql索引的基本概念索引分类Mysql中索引的语法创建索引删除索引查看表中的索引查看查询语句使用索引的情况索引的优缺点优点缺点索引的实现原理哈希索引:全文索引:BTree索引和B+Tree索引BTree索引B+Tree索引为什么常用的关系型数据库采用B+Tree做索引而不是其它Tree(如B-Tree)计算机数据存储基本原理回顾InnoDB引擎的数据存储原理...原创 2019-08-13 11:25:40 · 280 阅读 · 0 评论 -
深入理解锁,同步器以及线程池
ThreadPoolExecutor线程池中线程不能超过核心线程数量的问题 int arg1=2;//核心线程 int arg2=40;//最大线程数量 int arg3=100;//空余保留时间 ThreadPoolExecutor pool=new ThreadPoolExecutor(arg1, arg2, arg3,TimeUnit.MILLISE...原创 2019-08-08 21:27:20 · 274 阅读 · 0 评论 -
ThreadLocal-深度剖析
ThreadLocal-深度解析ThreadLocal-基本概念 ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。从线程的角度看,目标变量就象是线程的本地变量,这也是类名中“Local”所要表...原创 2019-08-08 21:30:03 · 253 阅读 · 0 评论 -
一文看懂计算机网络中数据是如何可靠传输的
文章目录数据传输详解OSI(开放系统互联参考模型)Internet网络体系结构OSI模型与TCP/IP模型对比数据包转发实例详解数据链路层的三个基本问题链路与数据链路概念的区别?封装成帧透明传输透明传输的解决方法差错检测数据传输详解OSI(开放系统互联参考模型) OSI(Open System Interconnection),开放式系统互联参考模型。是一个逻辑上的定义,一个规范,它把网络...原创 2019-08-09 12:58:14 · 2514 阅读 · 0 评论 -
一文纵览设计模式
常见的设计模式设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属 Gang of Four (GoF) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。有一些重要的设计原则在开篇和大家分享下,这些原则将贯通全文:面向接口编程,而不是面向实现。这个很重要,也是优雅的、可扩展的代码的第一步,这...转载 2019-08-19 16:43:38 · 172 阅读 · 0 评论 -
详细说说Java中final、finally、finalize的区别
文章目录Java中final、finally、finalize的区别定义上的区别用法上的区别高级区别Java中final、finally、finalize的区别定义上的区别final是java关键字,用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。finally是java中异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方...原创 2019-08-10 15:24:43 · 334 阅读 · 0 评论 -
说说java中常见修饰符final、static、abstract
文章目录Java中常用的修饰符(abstract,static,final)1、abstract2、final:3、static修饰类、属性和方法Java中常用的修饰符(abstract,static,final)1、abstract1. abstract既可以修饰类(抽象类),又可以修饰方法(抽象方法)abstract修饰类时,表示该类为抽象类,所谓抽象类就是指该类只是一个抽象的概念,...原创 2019-08-10 15:29:08 · 418 阅读 · 0 评论 -
Redis缓存常见问题及解决方案
文章目录Redis缓存Redis两大特性高性能:高并发:Redis缓存常见问题及解决方案缓存击穿原理解决方案缓存雪崩原理解决方案缓存击穿原理解决方案Redis缓存Redis是一种存在内存中的数据库,它的读写速度非常快,被广泛应用于缓存方向;另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动...原创 2019-08-21 08:59:58 · 1121 阅读 · 0 评论 -
深度剖析JVM垃圾回收机制
文章目录JVM垃圾回收深度剖析如何判断对象已死引用计数法可达性分析算法JDK1.2之后的引用概念生存还是死亡回收方法区如何判断一个常量是废弃常量如何判断一个类是无用的类垃圾回收算法标记-清除算法复制算法标记-整理算法分代收集算法垃圾收集器Serial 收集器ParNew 收集器Parallel Scavenge 收集器Serial Old 收集器Parallel Old 收集器CMS 收集器G1 ...原创 2019-08-10 22:08:51 · 221 阅读 · 0 评论 -
单链表的反转、判断是否有环、输出倒数第k个元素
字符串的反转递归法实现单链表反转public class ReverseList { public static void main(String[] args){ Node linkNode=new Node(); linkNode.data=1; Node linkNode2=new Node(); linkNode2...原创 2019-08-24 18:46:21 · 157 阅读 · 0 评论 -
Mysql基础扫盲
文章目录Mysql基础扫盲Mysql默认的数据库引擎MyISAM和InnoDB区别索引的概念及分类数据库事务事物的四大特性(ACID)并发事务带来哪些问题?事务隔离级别有哪些?MySQL的默认隔离级别是?锁机制与InnoDB锁算法Mysql基础扫盲Mysql默认的数据库引擎 MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空...原创 2019-08-12 20:50:51 · 350 阅读 · 0 评论 -
容易误解的==和equals的区别与联系
文章目录java中==、equals和hashCode的区别与联系==equalshashCodeequals和hashCode的区别与联系java中==、equals和hashCode的区别与联系====是java运算符,用于比较两个操作数的关系,返回一个boolean类型的结果。**具体含义:**如果两个操作数是基本数据类型,比较值是否相等。如果两个操作数是引用类型,那么比较的是内存地...原创 2019-09-09 15:08:21 · 169 阅读 · 0 评论