自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Netty开发指南】Netty实现C/S(源码解析)

Netty实现服务器和客户端服务器话不多说我们直接来实现一个简单的TimerServer(该服务器的提供的服务是接收客户端的指令返回服务器的系统时间)。import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelOption;import io.netty.channel.EventLoopGroup;import io.netty.

2020-12-30 21:25:27 714 1

原创 【Netty开发指南】搭稳Netty开发的地基

Linux网络编程5种IO模型根据UNIX网络编程对于IO模型的分类,UNIX提供了5种IO模型,分别是阻塞IO、非阻塞IO、IO复用、信号驱动IO、异步IO。这几种IO模型在《UNIX网络编程》中有详解,这里作者只简单介绍,帮助大家回忆一下这几种模型。对于Linux来说,所有的操作都是基于文件的,也就是我们非常熟悉的fd,在缺省的情况下,基于文件的操作都是阻塞的。下面就通过系统调用recvfrom来回顾下这五种模型。模型的图示来源于《Netty权威指南》下面不再说明。阻塞IO系统调用recvf

2020-12-22 21:37:04 404 1

原创 【实例学模式】一针见血装饰器模式

目录什么是装饰器模式开发案例【奶茶店自助下单系统】设计方案对装饰器模式的思考什么是装饰器模式通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式。显然,直接修改对应的类这种方式并不可取。在面向对象的设计中,而我们也应该尽量使用对象组合,而不是对象继承来扩展和复用功能。装饰器模式就是基于对象组合的方式,可以很灵活的给对象添加所需要的功能。装饰器模式的本质就是动态组合。动态是手段,组合才是目的。总之,装饰模式是通过把复杂的功能简单化.

2020-12-18 18:24:14 424 1

原创 【读源码学设计模式】一针见血Mybatis设计模式之代理模式

代理模式简介我最认同的网络上对于代理模式的解释是代理模式提供了一种对于目标对象的另一种访问形式,意思是通过代理对象访问目标对象。从这句话中我们能够得到这样几个信息,要想实现代理模式,我们需要一个目标对象,一个代理对象,并且代理对象可以访问目标对象。举个很简单的例子:我想剥一个橘子,但是我不自己剥,我找我的好朋友小明帮我剥,在这件事情上,我就是一个目标对象,我要做的事情是剥橘子,我的朋友小明就是代理对象,代理我剥橘子,而且他在剥橘子的前后可能做其他事情,比如先洗手,后把剥好的橘子递给我。所以从上面

2020-07-25 02:18:24 943

原创 【实例学模式】一针见血工厂模式和策略模式

怎么学习设计模式?一直以来我都认为最好的学习方法就是动手实践,实践结合理论,实践优于理论,只有行动起来,自己去实验过一个单例,使用过某个工具类,看过一个方法或者注解的源码,再结合基本原理,你才能叫得上真正的掌握了这个知识点。我们学习设计模式,也要结合具体的案例,动手写一写代码,结合原理今儿使用场景,才能真正的举一反三,熟练运用。为什么工厂模式要跟策略模式一起学习呢?因为工厂模式和策略模式及其相似,跟多人分不清工厂模式和策略模式,不清楚二者的区别,如果分不清,使用的时候自然而然做不到根据..

2020-05-19 01:28:19 528

原创 这些Linux技能你会了,面试官:哎呦小伙子不错哦!

那些让面试官眼前一亮的技能你掌握了吗?

2020-05-17 00:03:54 4015

原创 从Spring源码看Spring是如何实现HelloWorld

Spring源码硬核解析,从HelloWorld深入Spring源码,了解Spring的底层实现原理与实现。

2020-05-12 02:42:08 562 1

原创 面试官问我TIME_WAIT和CLOSE_WAIT,我这样回答能进大厂吗?

学习网络编程这么久,是时候试试自己的技能水平的深浅了。

2020-04-30 02:46:51 2223 1

原创 蘑菇街HR问我有什么缺点,我的回答是我没有缺点!

这个时间是应届生应聘和员工跳槽的高峰期,你靠实力到了HR面试,却赢在了技术,输在了情商?

2020-04-25 20:46:35 11140 15

原创 HashMap面试时你和年薪20万的回答差在了哪里?已拿腾讯和阿里offer面经干货!

HashMap底层原理你可能了解到了10层,但是面试的时候你表现的却只到了2层,普通人和大神的差距到底在哪呢?

2020-04-19 20:02:37 2077 9

原创 小白想学C语言懵逼中?我告诉你撸就完事了!

为了你们淦出来的,你还不给个三连?怎么你是那个说自己是萌新的小白吗?你点进来了,别装了,你肯定是!我猜你关注了那个大神教小白学编程的博客,还关注了别的写《小白入门指南》的博主,今天你看到了我的这篇文章,我猜你肯定会点赞、评论加关注,素质三连,我先提前谢谢小萌新了。为什么说“撸”就完事了!给你定个小目标,本科期间自己写的代码至少超过两万行,github搞起来,这都是在攒钱,而且不需要...

2020-04-17 00:26:36 8776 24

原创 volatile你以为你真的懂?

我们先来看volatile的的基本概念,volatile他是什么意思,现在像大的互联网公司的面试,基本上volatile是必会的,有时候他也不会太问,认为你应该会,但是中小企业也就开始问这方面的问题。...

2020-04-12 00:13:14 868 4

原创 Synchronized你以为你真的懂?

synchronized是个啥在多线程并发编程中synchronized一直是元老级角色,很多人都会称呼它为重量级锁。但是,随着Java SE 1.6对 synchronized进行了各种优化之后,有些情况下它就并不那么重了,Java SE 1.6中为了减少获得锁和释放锁带来的 性能消耗而引入的偏向锁和轻量级锁,以及锁的存储结构和升级过程。如果你对于synchronized的基础知识和用法...

2020-04-09 01:15:47 2899 14

原创 CAS你以为你真的懂?

CAS是个啥CAS(Compare and swap)直译过来就是比较和替换,也有人叫compare and exchange,是一种通过硬件实现并发安全的常用技术,底层通过利用CPU的CAS指令对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。仔细观察J.U.C包中类的实现代码,会发现这些类中大量使用到了CAS,所以CAS是Java并发包的实现基础。它的实现过程是,有3个操作数,内存值...

2020-04-06 16:35:38 5391 10

原创 很多面试官相信的谣言,做为面试者,你该发声了!一道题角色逆转

情景再现今天一个学妹跟我分享她今天的面试过程,她面试的是java开发岗,跟我说了面试官大概问了哪些问题,基本都是一些常规的基本知识,其中涉及到多线程的部分有这样一个问题。面试官:(一脸严肃)说一下Thread和Runable有什么区别吧。学妹:(心里美滋滋,这个我在博客上看过,我会)Thread和Runable有2点区别,1.Thread有单继承的问题; 2.Runnable便于实现...

2020-03-31 01:24:50 5743 14

原创 作为应届生,在大厂工作的这半年多我都学到了什么?

我先做一下自我介绍,我是19年毕业的本科应届生,目前就职于豚厂,是一名java开发工程师。顺便提一下我的大学舍友,我们宿舍加上我是六个人,除了我其他五个人三个去了鹅厂,一个家里有矿,一个去了一家互联网国企,顺便卖着自家苹果。

2020-03-28 18:11:14 2197 6

原创 汇编自学(一)

前言最近对汇编语言突然产生了兴趣,汇编作为一个与计算机交互的底层的语言,能够做到很多高级语言无法完成的事情,所以决定自学一下汇编。因为汇编语言看起来对人并不友好,涉及的指令和寄存器很多,容易混淆,易忘,希望可以坚持下来,可以认识汇编语言,能够很好的运用。寄存器寄存器是cpu内部的物理存储单元,对于CPU来说可以当成一些临时变量,用于临时存放数据,众所周知,寄存器的读取虽度比内存快的...

2019-07-25 21:05:11 1625 1

原创 抓包分析https的传输过程

参考:https://www.jianshu.com/p/7158568e48671.首先,浏览器和服务器三握手,建立连接。下面是https的发包过程:2.浏览器发送client hello:客户端给服务器发送一个随机值random1,和加密(暗号)套件。3.服务器ack,意思是,你的hello数据包我收到了。4.服务器给浏览器(客户端)发送serv...

2018-07-28 11:46:26 5735

原创 AI工具快速部署

AI网站一站式部署解决方案

2024-03-18 19:27:20 857

原创 聊一聊程序员应该如何入门

最近有一起玩lol的朋友,他今年21岁,想要入门编程,毕业后想当一名程序员,报了培训班1w多从基础学起,简单的了解过后,感觉现在的培训班质量参差不齐,有些可能只是赚快钱,党务了学员宝贵的时间。为什么这么说呢?我的这位朋友想要做后端学习Java开发,但是学习的内容是涉及全栈,包括html、js等,这样出现一个问题,我想从业后端做Java开发,有必要学习Js吗?我从事java开发近四年,有近三年大厂的工作经验,今天想聊一聊我的看法,小白想学Java,应该怎么入门呢?

2023-11-12 11:50:33 142

原创 20221024愿程序员们走出”卷“的怪圈

1024节日快乐

2022-10-24 13:39:58 251 1

原创 一个专业做后端的开发由于好奇玩了下VUE实现了一个登陆页Demo

今天因为好奇vue跟后端交互的方式,大家都说vue开发页面,建站很容易,在网上找了下教程,感受了下。下面给大家分享一下使用springboot+vue搭建前后端分离开发项目的教程,内容比较简单,相信大家动动手也能玩一下。vue.js+iview+springboot搭建一个前后端分离登陆demo上面的教程中实现的登录页是这样的我做出来的效果:喜欢的朋友可以给我点个赞,下面是我登录页的样式代码:<template> <body id="paper">

2020-12-22 12:20:13 331 1

原创 程序员们节日快乐

节日快乐!永无BUG!

2020-10-24 21:41:28 386

原创 我用java玩爬虫之第一次爬CSDN就是这么简单!

大家最想用爬虫干的事情是什么呢?我玩爬虫的初衷是这样的。

2020-05-04 16:01:17 1126 1

转载 IntelliJ IDEA详细配置和使用教程

前言正所谓工欲善其事必先利其器,对开发人员而言若想提高编码效率,一款高效的开发工具是必不可少的,相信看到该博客的朋友们都已经对IntelliJ IDEA有所了解了,所以此处就不对IntelliJ IDEA进行介绍,而是直接阐述在实际开发中应用场景。博主使用的IntelliJ IDEA版本为IntelliJ IDEA 2017,因为博主是一名Java开发工程师,所以以下内容均以Java为主。(相...

2020-05-03 09:57:17 484

原创 我用Java玩爬虫,Search Job Web项目实战,你要一起来吗?

寻职网Search Job Web项目目标使用爬虫实现一个类似于51job一样的找工作的网站,目标是爬取的职业范围比51job更广更全!关注专栏Java爬虫【寻职网项目实战】第一阶段实现爬虫入门demo,爬取网页 了解爬虫要解决的问题,爬虫的开发规范 HttpClient的使用,包括Get和Post的区别和使用 HttpClient的连接池的使用 使用Jsoup解析字符串...

2020-04-26 01:00:50 544 2

原创 Git学了又忘?这篇教程指南一收藏就是一辈子。

目录什么是GitGit常用指令指南SVN与Git的最主要的区别?Git实战教程工具类博文,你觉得实用,那就收藏吧!什么是GitGit是目前世界上最先进的分布式版本控制系统。Git在Wikipedia上的定义:它是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。Git最初被Linus Torvalds开发出来用于管理Linux内核的开发。每...

2020-04-21 01:02:24 349

原创 Java多线程入门指南,太下饭了!

写在前面现在很多人都觉的学习一门语言之后每天都在重复的进行CURD操作,根本用不到多线程高并发的知识,自己想学习,又不知道从何入手,因为多线程和高并发真的是很大的一个内容,这部分又是面试中面试官考察面试者能力的占比很重的一部分,这是初级程序员想改及程序员迈进必经的一个坎儿。怎么学习?我把脑袋里的东西给你看!脑图都给你了,你知道学习的思路了吗?多线程和高并发从入门到精通多线程...

2020-04-20 01:06:26 671 1

原创 大厂真题:面试官非常喜欢抛出的问题,看你自由发挥,你能讲多深?

下面这几招,你能接住几招?请描述synchronized和reentrantlock的底层实现以及重入的底层原理 ----百度,阿里。 请描述锁的四种状态和升级过程 ----百度,阿里。 CAS的ABA问题如何解决 -----百度。 请谈一下AQS,为什么AQS的底层是CAS + volatile ----百度。 请谈一下你对volatile的理解 ----美团,阿里。 volati...

2020-04-09 10:05:14 2875 7

原创 linux下的single()函数

使用signal()时的形式:signal(参数1, 参数2);#include#includeint main(){ while(1) { signal(SIGINT, SIG_IGN); printf("ctrl+c 失效!"); } //for(; ;){} return 0;}头文件si'

2020-04-02 16:34:22 4165

原创 汇编指令大全【实用工具,吐血整理】

汇编指令大全 AAA 未组合的十进制加法调整指令 AAA(ASCIIAdgustforAddition) 格式:AAA 功能:对两个组合的十进制数相加 运算(存在AL中)的结果进行调整, 产生一个未组合的十进制数放在 AX中. 说明: 1.组合的十进制数和未组合的十 进制数:在计算中,十进制数可用四 位二进制数编码,称为BCD码....

2020-03-29 11:50:18 1609 4

原创 guava之ImmutableMap使用

为什么使用ImmutableMap?对不可靠的客户代码库来说,它使用安全,可以在未受信任的类库中安全的使用这些对象 线程安全的:immutable对象在多线程下安全,没有竞态条件 不需要支持可变性, 可以尽量节省空间和时间的开销. 所有的不可变集合实现都比可变集合更加有效的利用内存 (analysis) 可以被使用为一个常量,并且期望在未来也是保持不变的,immutable对象可以很自...

2019-12-25 17:07:20 1279 2

原创 汇编自学(二)

上一篇博客:自学汇编(一) 寄存器今天学习的内容是各类操作数寻址方式。前言CPU中除了有这些可以用于数据运算的寄存器外,还需要与外界的内存间进行数据交换,这里的过程被称为操作数寻址,寻址即为寻找某个数据在内存里的地址,然后把该数据调入寄存器中或与汇编指令间进行运算。操作数是指令或程序的主要处理对象。如果某条指令或某个程序不处理任何操作数,那么该指令或程序不可能有数据处理功能。在C...

2019-07-26 13:28:22 886 3

转载 Java 8新特性 lambda表达式 Stream(让代码更简洁)

1.lambda表达式转发地址:https://www.cnblogs.com/aoeiuv/p/5911692.html一个简单举例的链接:http://swiftlet.net/archives/3331Java8最值得学习的特性就是Lambda表达式和Stream API,如果有python或者javascript的语言基础,对理解Lambda表达式有很大帮助,因为Java正在将...

2019-04-30 11:47:41 643 2

转载 Idea阅读源码的常用快捷键

原文:https://www.jianshu.com/p/ece572e6a5d2ctrl + e查看最近打开的文件caps + tab同样也是查看最近打开的文件ctrl + {返回上一步编辑获取鼠标停留的位置ctrl + }返回下一步编辑获取鼠标停留的位置阅读源码最重要的几个功能:1:查看某方法被哪些地方调用:crtl+g2:查看某方法的调用树:crtl+alt+h3:查看...

2019-04-19 20:12:58 2082

原创 查看日志常用命令汇总

项目部署在测试或者线上机器的时候,不管是调试还是线上出现问题,往往需要查看日志,如何从海量的复杂的日志文件中找到你需要的信息,总结的常用命令如下:实时查看日志内容:tail -f xxx.log查看从日志末尾开始制定行数的日志tail -n 行数 xxx.logtail -行数 xxx.log根据条件筛选出行号 :根据条件筛选出这个日志在哪一行cat -n <fi...

2019-04-19 20:06:44 990

原创 linux下dubbo-admin的配置过程

首先你要有tomcat dubbo-admin的安装包下面那是我的安装过程:cd /home/Downloads到我的包里面mkdir -p /usr/local/java/tomcat创建tomcat文件夹cp apache-tomcat-7.0.23.rar /usr/local/java/tomcat把jar包复制到文件夹里面tar -zxvf apache-tom...

2019-04-12 12:23:28 649 2

原创 从数据库获取近六个月的数据的sql

use XXX;select count(*) as 'number',left(create_time,7) as 'month', user_id as `userId` from XXX where DATE_FORMAT(create_time,'%Y-%m')> DATE_FORMAT(date_sub(curdate(), interval 6...

2019-04-09 17:35:25 6161 2

原创 Java创建对象new一个对象和 “=null“的区别

例子:UserInfo userInfo = new UserInfo();UserInfo userInfo = null;区别在于:前者声明了一个对象的引用以后,在jvm中将一块新开辟的没有任何有效值的空间赋给了它,后者只是声明了一个对象的引用,jvm并没有开辟空间。 在使用的时候,如果类创建以后需要自己读写对象,就必须初始化,如果声明的对象是从其他地方接收引用可以写为=nu...

2019-04-08 17:40:27 3074 2

原创 dubbo的三种配置方式

一、使用zookeeper搭建注册中心provider.xml的配置&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...

2018-12-25 00:19:15 2441 2

NAT类型检测+免费的STUN服务器.rar

P2P技术的NAT穿越方案,需要针对上述的4种NAT类型使用不同的方案,才有可能打洞(穿墙)成功,而最在要紧的是,我该怎么知道目前某台客户端所处的路由属于哪种NAT类型呢?

2020-04-23

汇编指令大全.pdf

博主吐血整理,强烈推荐,最全的汇编指令大全,包含了指令的解读和举例,非常实用的工具。相当于一个指令查询手册,帮助你最快了解指令的用法和指令的含义,更好的协助你编写代码。

2020-03-29

程序员面试智力、算法题汇总一pdf

程序员面试智力、算法题汇总一。很好的资源 我自己在用,对面试有很大帮助,涵盖了面试最常见的智力题,算法题,编程题还有大数据处理。

2018-07-25

Redis设计与实现[带书签]

近几年Redis以其高性能、高灵活性的优点,变得越来越流行。但很多人在使用Redis时,仅仅还是停留在比较表层的功能性认识,缺乏对内部机制原理的深入理解。本书是huangz同学长期对Redis源码的阅读心得结晶,书中对Redis的各个方面都进行了详细且深入的讲解,将复杂的原理用最简单的方式为大家解构和讲解,强烈推荐给每一位Redis的使用者阅读

2018-07-24

Linux内核设计的艺术pdf

特别好的书,图文结合,本书的最大特点是它的写作方式和内容组织方式,与同类书完全不同。它在深刻地分析了传统讲解方法的利弊之后,破旧立新,从认知学的角度开创了一种全新的方式。

2018-07-24

深入理解linux虚拟内存管理

这本书对linux的虚拟内存管理解释的很深,很好的东西,我自己看了觉得挺好的

2018-07-23

c#实现万年历加电子时钟带日程安排闹铃提醒功能 源码

c#实现的万年历加电子时钟+日程安排(到期闹铃提醒),下载代码以后只需修改数据库信息即可,在vs上完美运行

2018-07-06

200个c语言程序

c语言题目描述加代码,由简到难,涉及到数据结构算法等c语言程序开发的各方面问题和常见的编程题,对面试,笔试帮助很大,很好的资源

2018-07-03

深入理解mysql.pdf

深入理解mysql.pdf书不错,写的很详细,-------------------------------------------------------------------------------------------------------------

2018-07-03

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

TA关注的人

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