自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 Java基础知识面试题

文章目录面向对象什么是面向对象?什么是面向过程?面向对象的三大基本特征是什么?面向对象的五大基本原则是什么?什么是JVM、JDK、JRE为什么Java是跨平台的Java怎么实现平台无关JVM还支持哪些语言值传递、引用传递的区别访问修饰符public、private、protected,以及不写(默认)时的区别?抽象类与抽象接口重写与重载的区别基本数据类型Java的基本数据类型有哪些各个基本数据类型...

2020-04-13 23:56:09 21853 5

原创 Zookeeper面试题

主题链接Java基础知识面试题Java集合容器面试题Java并发编程面试题Java底层知识面试题Java常用框架面试题计算机网络面试题数据库面试题RabbitMQ面试题Redis面试题Elasticsearch面试题Zookeeper面试题系统设计面试题文章目录ZooKeeper 是什么?Zookeeper 文件系统Zookeeper 怎么保证主从节点的状态同步?四种类型的数据节点 Znode...

2020-07-22 23:30:08 1189 1

原创 Elasticsearch面试题

主题链接Java基础知识面试题Java集合框架面试题Java并发编程面试题Redis面试题文章目录1

2020-07-22 23:25:52 1135

原创 系统设计面试题

主题链接Java基础知识面试题Java集合框架面试题Java并发编程面试题Redis面试题文章目录分布式微服务高并发监控负载均衡DNSCDNserverlessservermesh...

2020-07-22 23:23:24 2608

原创 Java常用框架面试题

主题链接Java基础知识面试题Java集合框架面试题Java并发编程面试题Redis面试题文章目录

2020-05-09 11:46:58 4725

原创 数据库面试题

主题链接Java基础知识面试题Java集合框架面试题Java并发编程面试题Redis面试题文章目录

2020-04-27 22:24:58 3501

原创 RabbitMQ面试题

主题链接Java基础知识面试题Java集合框架面试题Java并发编程面试题Redis面试题文章目录为什么使用MQ?MQ的优点?消息队列有什么优缺点?RabbitMQ有什么优缺点?为什么用RabbitMQ作为消息中间件?Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?MQ 有哪些常见问题?如何解决这些问题?rabbi...

2020-04-25 10:06:43 1998

原创 计算机网络面试题

主题链接Java基础知识面试题Java集合框架面试题Java并发编程面试题Redis面试题文章目录在浏览器地址栏输入一个URL后回车,执行的全部过程tcp、udp、http、https等常用协议三次握手与四次关闭流量控制和拥塞控制OSI七层模型tcp粘包与拆包http/1.0 http/1.1 http/2之间的区别http中 get和post区...

2020-04-23 23:25:15 2521

原创 Java底层知识面试题

主题链接Java基础知识面试题Java集合框架面试题Java并发编程面试题Redis面试题文章目录JVM内存结构class文件格式运行时数据区:堆、栈、方法区、直接内存、运行时常量池堆和栈区别Java中的对象一定在堆上分配吗?Java内存模型计算机内存模型缓存一致性MESI协议可见性原子性顺序性happens-before内存屏障synchron...

2020-04-21 23:12:46 7284 1

原创 Redis面试题

主题链接Java基础知识面试题Java集合框架面试题Java并发编程面试题文章目录什么是RedisRedis有哪些优缺点为什么要用 Redis为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快Redis有哪些数据类型Redis 有哪几种数据淘汰策略?Redis 集群方案应该怎么做?都有哪些方案?什么是缓存穿透?如何避免?什...

2020-04-14 23:59:27 2979 1

原创 Java并发编程面试题

主题链接Java集合面试题Java基础知识面试题文章目录并发与并行什么是并发什么是并行并发与并行的区别是什么线程线程的实现线程的状态线程优先级线程调度创建线程的多种方式什么是守护线程?线程和进程的区别是什么?线程池为什么要使用线程池?线程池有什么作用?说说几种常见的线程池及使用场景线程池都有哪几种工作队列线程池中的几种重要的参数及流程说明怎么理解无界队列和有界队...

2020-04-14 16:25:57 3781

原创 Java集合容器面试题

文章目录常用集合类的使用HashMap与HashTable的区别?JDK1.8以后HashMap的put方法的具体流程?ArrayList、LinkList、Vetor的区别HashMap、HashTable、ConcurrenHashMap的区别HashMap 和 ConcurrentHashMap 的区别?Set和List的区别Set如何保证元素不重复Java8中stream相关用法不同版本J...

2020-04-14 11:52:05 4963

原创 DevOps和云计算初识

如题

2019-03-14 00:43:45 334

原创 Spring事务详解

什么叫事务?关于事务,最简单最常见的例子就是取钱。ATM机取钱有两个步骤,第一步输入金额密码,银行卡扣掉1000元,第二步ATM出钞1000元,这两个步骤必须要么都执行成功,要么都不执行。如果其中一个步骤失败了,必须把整个过程回滚,取消掉所有操作,这就是事务最基本的应用,事务就是用来解决类似问题的。代码举例:Connection conn = DriverManager.getConnect...

2019-03-12 23:57:19 426

原创 Java Agent调试

最近在学习Java Agent,记录一下如何调试。一、写一个Agent1、编写一个Java类,并包含如下两个方法中的任一个: public static void premain(String agentArgs, Instrumentation inst); //【1】 public static void premain(String agentArgs); //【2】 其中

2017-12-16 00:06:02 8055 1

原创 byte buddy学习笔记

参考网址https://notes.diguage.com/byte-buddy-tutorial/ 1、Maven依赖: net.bytebuddy byte-buddy 1.7.9 net.bytebuddy

2017-12-13 23:55:22 6457 1

原创 skywalking源码学习

入口类 org.skywalking.apm.agent.SkyWalkingAgent(版本3.2.5) 1、主方法: (1)agentArgs 是 premain 函数得到的程序参数,随同 “– javaagent”一起传入。 与 main 函数不同的是,这个参数是一个字符串而不是一个字符串数组,如果程序参数有多个,程序将自行解析这个字符串。 (2)ins

2017-12-13 22:39:46 3293 1

原创 IDEA常用快捷键

1 智能提示基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space。用F2/ Shift+F2移动到有错误的代码,Alt+Enter快速修复(即Eclipse中的Quick Fix功能)。Ctrl+Shift+Enter能自动补全末尾的字符。而且不只是括号,例如敲完if/for时也可以自动补上{}花括号。2 重构无敌的重构功能大汇总快捷键Ctrl+

2017-09-25 22:29:38 319 1

原创 Maven总结

一、概念Maven是一个项目管理和构建自动化工具。Maven提供了开发人员构建一个完整的生命周期框架,开发团队可以自动完成项目的基础工具建设。一个Maven项目的结果如下图所示:    maven项目采用“约定优于配置”的原则,src/main/java约定用于存放源代码,src/main/test用于存放单元测试代码,src/target用于存放编译、打包后的输出文件。二、常用命令mvn a

2017-09-24 20:21:01 268

原创 01-SpringBoot的三种启动方式

一:直接在IDEA中运行Application类的main方法 二:在springboot的应用的根目录下运行mvn spring-boot:run 在cmd命令行或者IDEA的Terminal终端界面,使用mvn spring-boot:run命令利用spring boot框架内置的tomcat运行spring boot开发的web应用。 该web应用顺利启动后,cmd命令行或者IDEA

2017-09-22 22:02:10 1215 1

原创 hashcode和equals

一、HashCode定义(1)HashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,HashCode是用来在散列存储结构中确定对象的存储地址的; (2)如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同; (3)如果对象的equals方法被重写,那么对象的HashCode也尽量重写,并且产生HashCode使用的对象,一

2017-09-15 16:20:14 334

原创 Java筛选法求素数

题目描述 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7)) 输入描述:输入包括一个整数n,(3 ≤ n < 1000)输出描述:输出对数示例1 输入 10 输出 2import java.util.Scanner;public class Ma

2017-09-13 10:06:24 2788

原创 贪心算法

一、基本思想顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。二、基本要素1.贪心

2017-09-12 22:21:29 556

原创 深度优先搜索与广度优先搜索

一、基本实现深度优先搜索用栈(stack)来实现,整个过程可以想象成一个倒立的树形: 1、把根节点压入栈中。 2、每次从栈中弹出一个元素,搜索所有在它下一级的元素,把这些元素压入栈中。并把这个元素记为它下一级元素的前驱。 3、找到所要找的元素时结束程序。 4、如果遍历整个树还没有找到,结束程序。广度优先搜索使用队列(queue)来实现,整个过程也可以看做一个倒立的树形: 1、把根节点放到队

2017-09-12 16:22:24 260

原创 二分查找算法

一、介绍二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表

2017-09-12 10:12:53 289 1

原创 责任链模式

一、定义责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。二、UML类图 Client:客户端Handler:抽象处理者ConcreteHandler:具体处理者简单实现:

2017-08-10 17:44:51 315

原创 java泛型详解

泛型类、泛型接口、泛型方法、泛型通配符、类型擦除、泛型的一些规则。

2017-08-10 10:39:56 234

原创 代理模式和java动态代理

代理模式,java实现静态代理,jdk实现动态代理,使用cglib实现动态代理。

2017-08-09 15:51:20 216

原创 什么是RESTful?

一、名称解释REST,即Representational State Transfer的缩写,有人翻译为“表现层状态转化”。如果一个架构符合REST原则,就称它为RESTful架构。简答来说:URL定位资源,用HTTP动词(GET,POST,DELETE,PUT)描述操作。二、资源(Resources)所谓”资源”,就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首

2017-08-02 20:08:57 1032

原创 Java多线程系列--“基础篇”11之 生产消费者问题

生产者、消费者模型

2017-07-07 11:18:23 237

原创 Java多线程系列--“基础篇”10之 线程优先级和守护线程

线程优先级和守护线程

2017-07-07 11:13:19 247

原创 Java多线程系列--“基础篇”09之 interrupt()和线程终止方式

java多线程之interrupt()详解

2017-07-05 23:46:10 384

原创 Java多线程系列--“基础篇”08之 join()

java多线程之join()详解

2017-07-05 23:25:54 324

原创 Java多线程系列--“基础篇”07之 线程休眠

java多线程之sleep()详解

2017-07-05 23:15:39 315

原创 Java多线程系列--“基础篇”06之 线程让步

1. yield()介绍yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行!2. yield()示例下面,通过示例查看它的用法// YieldTest.java的源码class Threa

2017-07-05 23:09:44 288

转载 Java多线程系列--“基础篇”05之 线程等待与唤醒

wait(), notify()和notifyAll()详解

2017-06-27 23:49:05 213

转载 Java多线程系列--“基础篇”04之 synchronized关键字

多线程synchronized关键字

2017-06-26 16:13:26 205

转载 Java多线程系列--“基础篇”03之 Thread中start()和run()的区别

Thread中start()和run()的区别

2017-06-26 15:47:41 304

转载 Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式

常用实现多线程的两种方式

2017-06-26 15:39:41 210

转载 java多线程系列--“基础篇”01之 基本概念

转载链接:http://www.cnblogs.com/skywang12345/p/java_threads_category.html多线程是Java中不可避免的一个重要主体。从本章开始,我们将展开对多线程的学习。接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(), notify()等接口;Thread类中的接口;synch

2017-06-26 15:23:13 286

空空如也

空空如也

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

TA关注的人

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