自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker化你的java应用

前言==在各种技术大会(互联网架构,云计算等等),哪都少不了docker的身影。docker为啥这么火?因为它解决了大部分企业的痛点:快速的持续集成,服务的弹性伸缩,部署简单,方便了运维,而且为企业节省了机器资源,降低了成本。现在在很多企业(腾讯/京东/阿里/小红书等等)都大规模使用docker。作为开发工程师,咱们或多或少需要接触docker,因为咱们的程序运行在docker容器当中,了解docker,有益无害。下面我们就进入docker的世界吧~走进docker========docker是什

2022-01-01 10:45:48 306

原创 Java Lambda 表达式源码分析,我就不信你还吃不透Java的泛型

ToIntBiFunction<Integer, Integer> function = (n1, n2) -> n1 + n2;System.out.println(function.applyAsInt(1, 2));ToIntBiFunction<Integer, Integer> function2 = Integer::sum;System.out.println(function2.applyAsInt(1, 2));}大致形式就是 (param1, pa

2021-12-30 12:15:57 307

原创 InnoDB(2,linux运维技术分享

这种策略是指,当事务提交时,要先重做日志,然后再修改页,如果由于宕机发生修改页失败,那么可以通过日志来完成数据的恢复,这也是事务的ACID里面的D属性(Durability 持久性)。假设重做日志可以无限增大,而且缓冲池足够大,可以缓冲所有数据库的数据,那么就不必将缓冲池中的页刷新回磁盘了,只需要操作缓冲池就行,当发生宕机后,可以通过重做日志来恢复整个数据库系统到宕机发生的时刻。但这两个条件都很苛刻。即使满足前面这两个条件,但如果对于重做日志很大,宕机后数据库的恢复时间要很久,此时恢复的代价也是非常大的

2021-12-25 12:45:58 255

原创 hive学习笔记之一:基本数据类型,2021年“金三银四”来袭

本文对应的环境信息如下:CentOS Linux release 7.5.1804JDK:1.8.0_191hadoop:2.7.7hive:1.2.2关于hive的部署需要先部署hadoop环境,请参考《Linux部署hadoop2.7.7集群》hadoop部署成功后,安装和体验hive其参考《安装和体验hive》数据类型简介Hive支持基本和复杂数据类型:基本数据类型:包括数值型、布尔型、字符串类型和时间戳类型;复杂数据类型:数组、映射、结构

2021-12-25 12:44:32 128

原创 HashMap,mybatis数据库连接池原理

你也许会回答“我没有详查标准的Java API**,你可以看看Java源代码或者Open JDK。”“我可以用Google找到答案。”**但一些面试者可能可以给出答案,“HashMap是基于hashing的原理,我们使用put(key, value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。当我们给put()方法传递键和值时,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来储存Entry对象。”这里关键点在于指出,Hash

2021-12-25 12:43:07 126

原创 JAVA 获取系统日期时间,java对象转json原理

a.      new Date().getTime();b.      System.currentTimeMillis();c.      Calendar.getInstance().getTimeInMills();d.     Clock.systemDefaultZone().millis();其中d方法是在jdk8的时候新引入的。下面是我对上面四

2021-12-24 12:24:57 306

原创 JAVA 最全最细的fastjson使用介绍,带你透彻领悟JSON,字节跳动8年老Java面试官经验谈

//String jsonString = jsonArray.toJSONString(jsonArray);System.out.println(jsonString);}2.1.3.复杂json格式字符串与JSONObject之间的转换/**复杂json格式字符串到JSONObject的转换*/@Testpublic void testComplexJSONStrToJSONObject() {JSONObject jsonObject = JSONObject.parseObj

2021-12-24 12:23:48 237

原创 Java SSM (springboot+mybatis)美食菜谱分享平台系统设计和实现以及论文报告

6.用户模块管理:用户列表查询、添加、删除、7.用户评论模块管理:用户评论查询、添加、删除、8.注销退出登录管理给大家截一部分效果图吧============系统首页主要功能:分类查看没事菜谱信息以及智能推荐美食分享笔记详情信息查看、用户登录后可以进行评论、浏览量会增加、用户可以收藏当前文档信息、可以点击查看作者信息、可以对作者进行关注等操作用户评论操作:富文本编辑器添加美食分享笔记个人中心我的收藏 我的关注等关注用户信息以及具体功能操作等后台管理主要功

2021-12-24 12:21:05 381 2

原创 jackson学习之五:JsonInclude注解,颠覆认知

ALWAYSALWAYS表示全部序列化,如下图,null和空字符串都会序列化:NON_NULLNON_NULL好理解,就是值为null就不序列化:![在这里插入图片描述](https://img-blog.csdnimg.cn/2020090511122310.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JvbGluZ19jYXZhbH

2021-12-24 12:20:01 816

原创 IntelliJ IDEA创建基于maven的springboot项目,java高级编程实训总结

点击“File” → “Settings” → Editor” → “Color Schems”四、IDEA 设置包名的显示方式1、带层次的显示2、不带层次的显示五、IDEA创建Java类时,自动在文件头添加作者和创建时间点击“File” → “Settings” → Editor” → “ File and Code Templates” →  “ includes” → “ FileHeader”,

2021-12-24 12:19:03 833

原创 InnoDB(4,被逼无奈开始狂啃底层技术

表表就是关于特定实体的数据集合,是关系型数据库的核心索引组织表在InnoDB存储引擎中,表中的数据都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表所以在InnoDB存储的引擎表中,都必须有个主键(primary key),如果在创建表时没有显示地定义主键,则InnoDB存储引擎会按照下面的方式选择或者创建主键首先判断表中是否有非空的唯一索引,即unique key not null,如果有,那么该列就会变为主键(rowid)如果有多个非空的唯一索引,则会选择建表时第一个定义的

2021-12-24 12:18:06 293

原创 idea常用快捷键,springboot视频开发

最常用快捷键====================================================================1.Ctrl+E,可以显示最近编辑的文件列表2.Shift+Click可以关闭文件3.Ctrl+[或]可以跳到大括号的开头结尾4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方5.Ctrl+F12,可以显示当前文件的结构6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择7.Ctrl+N,可以快速打开类8.

2021-12-24 12:17:04 333

原创 Hello Maven快速入门,netty架构图

Maven项目的结构POM文件介绍依赖管理项目生命周期管理继承和聚合依赖冲突的调解结束概述================================================================本文将介绍下我们日常使用的开发工具——Maven为什么使用Maven========================================================================大家想一想,没用Mav..

2021-12-24 12:15:57 181

原创 HashMap,从paxos到zookeeper电子书

你也许会回答“我没有详查标准的Java API**,你可以看看Java源代码或者Open JDK。”“我可以用Google找到答案。”**但一些面试者可能可以给出答案,“HashMap是基于hashing的原理,我们使用put(key, value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。当我们给put()方法传递键和值时,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来储存Entry对象。”这里关键点在于指出,Hash

2021-12-24 12:14:37 97

原创 JAVA 序列化、反序列化以及serialVersionUID,10天拿到字节跳动Java岗位offer

这个类为啥要实现序列化?你看有些类没序列化不是嘛,但是有些又序列化了,为啥?为啥你现在新建的也序列化?你知道序列化有啥用么?一串连问后,得到了短暂的宁静。我才发现,其实很多人都没有去了解过这些 ,大多数都是脑子里有个模糊的概念,看到别人这么做,也跟着这么做。所以,我决定写一篇关于这个序列化、反序列化以及serialVersionUID使用和不使用的简单介绍文章,希望能帮助一些伙伴把脑子里模糊的概念给抹掉。正文======序列化和反序列化 ,这两个词一看就是对着干的。简单理解:序列化,

2021-12-23 11:47:39 428

原创 Java 并发之 Executor 框架,微服务架构springboot

参考:Executor (Java Platform SE 8 )4 ExecutorServiceExecutorService 为异步任务的执行提供了更多的支持,包括用于 终止 的方法以及可以产生用于跟踪一个或多个异步任务进度的 Future的方法。首先,和 Executor 不一样的是,ExecutorService 是可以终止的,当 ExecutorService 终止后,便不会接受新提交的任务。可以通过两个方法来终止 Executor

2021-12-23 11:46:19 137

转载 Java 专项练习【1 - 10】,java核心技术卷

在 Java 中,非静态方法只能是通过类的实例对象来调用,但不能直接通过类名调用。但静态(static)方法既可以通过实例对象来调用,也可以通过类名调用,当然,为了避免不必要的麻烦,我们一般都是推荐直接使用类名来调用。参考答案C下列类定义中哪些是合法的抽象类的定义?()A、abstract Animal{abstract void growl();}B、class abstract Animal{abstract void growl();}C、abstract class Animal{ab

2021-12-23 11:43:52 184

原创 JAVA String,java面试选择题及答案

System.out.println(System.currentTimeMillis() - beginTime);}private static void testStringBuilder() {System.out.println("--------------testStringBuilder---------------");long beginTime = System.currentTimeMillis();StringBuilder resultBuilder = new Str

2021-12-23 11:42:54 132

原创 Java String StringBuffer StringBuilder 原理,springmvc源码解析pdf

常量池public static void main(String[] args) {String str = “ab”;String str1 = “a” + “b”;String str2 = new String(“ab”);String str3 = “ab”.intern();String str4 = “a”.intern() + “b”.intern();String str5 = new String(“ab”).intern();System.out.println(str

2021-12-23 11:41:58 104

原创 idea常用快捷键,什么是分布式锁?为什么要用分布式锁

Ctrl+B 快速打开光标处的类或方法最常用快捷键====================================================================1.Ctrl+E,可以显示最近编辑的文件列表2.Shift+Click可以关闭文件3.Ctrl+[或]可以跳到大括号的开头结尾4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方5.Ctrl+F12,可以显示当前文件的结构6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择

2021-12-23 11:40:56 155

原创 hive学习笔记之二:复杂数据类型,java面试宝典pdf

OKt2.person t2.friendstom [“tom_friend_0”,“tom_friend_1”,“tom_friend_2”]jerry [“jerry_friend_0”,“jerry_friend_1”,“jerry_friend_2”,“jerry_friend_3”,“jerry_friend_4”,“jerry_friend_5”]Time taken: 0.052 seconds, Fetched: 2 row(s)查询friends中的某个元素的SQL:sel

2021-12-23 11:39:48 89

原创 HashMap,nginx部署vue项目原理

**“**当两个对象的hashcode相同会发生什么?” 从这里开始,真正的困惑开始了,一些面试者会回答因为hashcode相同,所以两个对象是相等的,HashMap将会抛出异常,或者不会存储它们。然后面试官可能会提醒他们有equals()和hashCode()两个方法,并告诉他们两个对象就算hashcode相同,但是它们可能并不相等。一些面试者可能就此放弃,而另外一些还能继续挺进,他们回答“因为hashcode相同,所以它们的bucket位置相同,‘碰撞’会发生。因为HashMap使用链表存储对

2021-12-23 11:38:28 252

原创 Java ArrayList类深度解析(2),java高级程序员面试笔试宝典pdf

如果在构造 ArrayList 实例时,指定初始化值(初始化容量或者集合),那么就会创建指定大小的 Object 数组,并把该数组对象的引用赋值给 elementData;如果不指定初始化值,在第一次添加元素值时会使用默认的容量大小 10 作为 elementData 数组的初始容量,使用 Arrays.conpyOf() 方法创建一个 Object[10] 数组。问题 5:Arrays.copyOf 方法和 System.arraycopy 方法的区别?Arrays.copyOf(T[], int

2021-12-19 12:42:31 107

原创 Java实现各种内部排序算法,linux教程第四版pdf下载

思想:利用折半查找的方法找出元素的待插入位置,然后再统一移动待插入位置之后的所有元素,最后将待插入元素插入到相应位置。性能:平均情况下,比较次数o(nlogn),移动次数o(n^2)时间复杂度:最好o(n):有序,最坏o(n2):逆序,平均o(n2);空间复杂度o(1);稳定public int[] binaryInsertSort(int[] array){int temp,low,high;for(int i=1; i<array.length; i++){temp = array[i

2021-12-18 11:59:40 90

原创 java实现excel导入导出(jxl),java调用百度地图api

import org.springframework.http.ResponseEntity;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.an

2021-12-18 11:58:08 225

原创 JAVA多线程和并发基础面试问答,吊打面试官你也可以,java基础教学网盘

4. 我们如何创建一个线程?有两种创建线程的方法:一是实现Runnable接口,然后将它传递给Thread的构造函数,创建一个Thread对象;二是直接继承Thread类。5. 有哪些不同的线程生命周期?当我们在Java程序中新建一个线程时,它的状态是_New。当我们调用线程的start()方法时,状态被改变为_Runnable。线程调度器会为_Runnable_线程池中的线程分配CPU时间并且讲它们的状态改变为_Running。_其他的线程状态还有_Waiting,Blocked《一线大厂Jav

2021-12-18 11:56:35 94

原创 Java备忘录模式(Memento),Java开发面试准备

录入大批人员资料。正在录入《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享当前人资料时,发现上一个人录错了,此时需要恢复上一个人的资料,再进行修改。Word文档编辑时,忽然电脑死机或断电,再打开时,可以看到word提示你恢复到以前的文档管理系统中,公文撤回功能。公文发送出去后,想撤回来核心内容就是保存某个对象内部状态的拷贝,这样以后就可以将该对象恢复.

2021-12-18 11:54:22 150

原创 Java基础面试题——集合,中软国际java面试

线程不安全,效率低并发下 ArrayList 不安全如何解决?/**解决方案;1、List list = new Vector<>();2、List list = Collections.synchronizedList(new ArrayList<>());3、List list = new CopyOnWriteArrayList<>();CopyOnWriteArrayList 使用的lock锁的机制*/SetSet .

2021-12-18 11:52:51 167

原创 java基础知识点,linux实用教程第三版pdf

依赖关系表示一个类依赖于另一个类的定义。例如,一个人(Person)可以买车(car)和房子(House),Person类依赖于Car类和House类的定义,因为Person类引用了Car和House。与关联不同的是,Person类里并没有Car和House类型的属性,Car和House的实例是以参量的方式传入到buy()方法中去的。一般而言,依赖关系在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用。2、关联关联(Association)关系是类与类之间的联接,它使一个类知道另一个类的属

2021-12-18 11:51:23 251

原创 Java基础27~使用JDBC+连接池,血与泪的总结

| boolean first() | 移动第一行,返回是否有数据 || boolean last() | 移动到最后一行,返回是否有数据 || String getString(“列名” 或 列索引) | 获得某一列的字符串值 || int getInt(“列名” 或 列索引) | 获得某一列的整数值 |JDBC的操作步骤下载mysql驱动包,导入到项目中导入驱动包中的Driver类到内存 Class.forName(“包名+类名”);通过DriverManager获得Conn

2021-12-18 11:49:40 128

原创 Java基础 - 面向对象思想,匿名对象,封装,高级架构师软考

* 封装(encapsulation)* 继承(in《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享heritance)* 多态(polymorphism)2.类与对象概述(1)Java中最基本的单位是类,Java中用class描述事物也是如此* 成员变量 就是事物的属性;和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。* 成员方法 就是事物的行为

2021-12-18 11:47:23 75

原创 Java基础 - 网络编程,三要素(IP、端口号,java程序设计简明教程

IPv4:4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。IPv6:8组,每组4个16进制数。1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f1a2b::aaaa:0000:0000:0000:aabb:1f2f1a2b:0000:aaaa::aabb:1f2f1a2b:0000:aaaa::0000:aabb:1f2f1a2b:0000:aaaa:0000::aabb:1f2f3.网络编程..

2021-12-18 11:45:18 494

原创 Java反射重要吗?,mongodb高可用原理

** 1.获取构造方法:* 1).批量的方法:* public Constructor[] getConstructors():所有"公有的"构造方法public Constructor[] getDeclaredConstructors():获取所有的构造方法(包括私有、受保护、默认、公有)* 2).获取单个的方法,并调用:* public Constructor getConstructor(Class… parameterTypes)

2021-12-18 11:43:28 103

原创 Java并发之AQS详解,springboot源码深度解析

tryAcquireShared(int); // 尝试以共享方式获取锁,失败返回负数,只能获取一次返回0,否则返回个数tryReleaseShared(int); // 尝试释放共享锁,可获取返回true,否则falseisHeldExclusively(); // 判断线程是否独占资源复制代码如实现类只需实现独占锁/共享锁功能,可只实现tryAcquire/tryRelease或tryAcquireShared/tryReleaseShared。虽然实现tryAcquire/tryRe

2021-12-17 15:23:03 179

原创 Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day7,mongodb教程百度云

简单说,事务就是一组原子性的SQL执行单元。如果数据库引擎能够成功地对数据库应 用该组査询的全部语句,那么就执行该组SQL。如果其中有任何一条语句因为崩溃或其 他原因无法执行,那么所有的语句都不会执行。要么全部执行成功(commit),要么全部执行失败(rollback)。这里引用银行转账的例子,假设银行的数据库有两张表:信用卡(credit)表和储蓄(savings)表。用户陈哈哈要把信用卡里最后100块钱额度转到他 的储蓄账户用来吃饭,那么需要至少三个步骤:检査信用卡余额是否髙于100块钱。.

2021-12-17 15:19:23 195

原创 Java堆转储Dump文件的几种方法,nginx作用和工作原理

live:如果设置,则只打印具有活动引用的对象,并丢弃准备进行垃圾收集的对象。此参数是可选的format=b:指定转储文件将采用二进制格式file:将写入转储的文件pid:Java进程的id例如:jmap -dump:live,format=b,file=/tmp/dump.hprof 12587我们可以通过使用jps命令轻松获得Java进程的pid。请记住,jmap是作为实验工具引入JDK中的,它不受支持。因此,在某些情况下,最好使用其他工具。Jcmd====jcm..

2021-12-17 15:17:28 316

原创 Java同步关键字synchronize底层实现原理,java框架入门书籍

if (UseRTMLocking && UseBiasedLocking) {if (FLAG_IS_DEFAULT(UseBiasedLocking)) {FLAG_SET_DEFAULT(UseBiasedLocking, false);} else {warning(“Biased locking is not supported with RTM locking; ignoring UseBiasedLocking flag.” );UseBiasedLocking =

2021-12-17 15:15:48 127

原创 Java反射-你不得不知道的那点事,java面试准备内容

反射用来生成JVM中的类、接口或者对象的信息Class类:java.lang.Class反射的核心类,可以获取类的属性,方法等信息。Field类:java.lang.reflect.Field,表示类的成员变量,可以用来获取和设置类之中的属性值。Method类:java.lang.reflect.Method,表示类的方法,可以用来获取类中的方法信息或者执行方法。Constructor类:java.lang.reflect.Constructor,表示类中的构造方法。5、..

2021-12-17 15:13:25 527

原创 Java内存模型:看Java如何解决可见性和有序性问题,tomcat原理详解

你已经知道,导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性、有序性最直接的办法就是禁用缓存和编译优化,但是这样问题虽然解决了,我们程序的性能可就堪忧了。合理的方案应该是按需禁用缓存以及编译优化。那么,如何做到“按需禁用”呢?对于并发程序,何时禁用缓存以及编译优化只有程序员知道,那所谓“按需禁用”其实就是指按照程序员的要求来禁用。所以,为了解决可见性和有序性问题,只需要提供给程序员按需禁用缓存和编译优化的方法即可。Java 内存模型是个很复杂的规范,可以从不同的视角来解读,站在我们这些程

2021-12-17 15:11:43 95

原创 Java中的类与对象,linux架构师认证

Java中的数据类型2.1 Java中的基本数据类型刚刚我们已经创建了一个String类型的对象,并且被String s所引用,接下来我们来了解更改的Java的基本数据类型。在Java语言中,每种基本数据类型所占用的存储空间的大小是确定的,它不像其他大多数语言那样随机械硬件结构的变化而变化。因此相对于其他大多数语言,Java更具有可移植性的特点。| 基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 || — | — | — | — | — || boolean | - |

2021-12-17 15:09:29 78

空空如也

空空如也

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

TA关注的人

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