自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

破风的个人博客

博客连通你我,一起进步!

  • 博客(72)
  • 问答 (1)
  • 收藏
  • 关注

原创 还在等年终奖?微软爸爸的这波 10000 元的福利你要不要?

<p ><span >现在国内外各大厂商都在谈论云,也有很多的优惠促销活动,但是微软爸爸 Azure 云服务的这波 10000 元的良心福利,实在让人拒绝不了,公司不给发年终奖,微软爸爸给你发年终福利。</span><br /></p><p><br /></p&g...

2019-01-25 16:23:00 318

原创 Java高频面试题分享(六)——Spring 支持的数据库事务传播属性和事务隔离级别...

面试题:请介绍下 Spring 支持的常用数据库事务传播属性和事务隔离级别?参考答案:事务传播属性:当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。(一个方法运行在了一个开启事务的方法中时,当前方法是使用原来的事务还是开启一个新的事务)例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。事务的传播行为可以由传...

2019-01-18 17:54:00 493

原创 这道上台阶的编程题你会不会?(递归和迭代思想)

面试题:编程题:有n个台阶,一次只能上1步或者2步,共有多少种走法?考察的知识点:递归和循环迭代递归:n 的值走法算式1只能一次1步f(1) = 12(1)一次走1步<br />(2)直接走2步f(2) = 23(1)先到达f(1)的情况,再从f(1)直接跨2步<br />(2)先...

2019-01-17 15:54:00 564

原创 并发编程-synchronized关键字大总结

0、synchronized 的特点:可以保证代码的原子性和可见性。1、synchronized 的性质:可重入(可以避免死锁、单个线程可以重复拿到某个锁,锁的粒度是线程而不是调用)、不可中断(其实也就是上面的原子性)2、synchronized 的分类:按照作用对象划分为 对象锁、类锁按照作用位置划分为 代码块、方法(静态和非静态)按...

2019-01-16 15:50:00 173

原创 Linux 下安装 Redis 总结

1、下载 Redis去Redis官网上下载 Redis 的源码包,并在Linux系统中解压。2、安装 Redis进入 Redis 的解压文件,使用 make 命令编译源码可能出现的错误:fatal error: jemalloc/jemalloc.h: No such file or directory在 Redis 的 README.md 文件...

2019-01-13 22:31:00 130

原创 我的2018年终总结

2018词云.png写作:写了 54 篇博客(看着自己写的东西,感觉很有成就感~)6 个写作平台:慕课网(认证作者)、简书、微信公众号(编程心路)、个人博客、GitHub、掘金发表 1 篇外文论文(这个过程提升了自己的写作语言逻辑,论文技术含量不高~)代码:编写的 C++ 的 MFC 课程设计文档受到欢迎(其实是未完成品,后面...

2018-12-29 21:52:00 2086 2

原创 这些面试必备的Java内存管理知识你需要吗?

0、Java 对内存的划分:内存划分Java虚拟机规范将物理内存(主内存和CPU中的缓存、寄存器)划分为 程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区五个区域,但并没有规定这些区域的具体实现,在其他地方听到的一些名词(如永久代、元空间等,这些都是方法区的具体实现)可能都是这些区域具体的实现,这点要特别注意,别被这些概念搞...

2018-12-25 14:45:00 171

原创 Java这些多线程基础知识你会吗?

0、并发和并行、进程核线程、多进程和多线程的区别:(这里的时间和时刻上的概念同物理上的一样)并发:在一段时间内多个任务同时执行,或者说是在一段很短的时间内可以执行多条程序指令,微观上看起来好像是可以同时运行多个进程,单核处理器就可以做到。并行:在同一时刻多个任务同时执行,或者说是在同一时刻可以执行多条程序指令,多核处理器才可以做到。进程:进程是程序...

2018-12-17 20:44:00 100

原创 语言小知识-Java HashMap类 深度解析

HashMap 也是比较常用的 Java 集合框架类,该类涉及到的知识比较多,包括数组、链表、红黑树等等,还有一些高效巧妙的计算,并且这个类经过几个版本的改进,不同版本之间是有些差异的,这里都是基于 JDK8 源码。照常的源码翻译,看看你能否回答下面的几个问题?(一些地方真的很难翻译,大家看看就好)HashMap 源码翻译问题 1:Hash...

2018-12-13 19:37:00 180

原创 语言小知识-Java LinkedList类 深度解析

上篇文章《ArrayList类 深度解析》中,我对 ArrayList 的源码做了翻译,这次再来翻译一下 LinkedList 类的,阅读完源码后提出下面的问题,来思考一下吧。(扫描二维码就可以查看 LinkedList 类的源码啦)问题 1:对 LinkedList 的理解?LinkedList 我将其翻译为“链表”,其实也并不准确,L...

2018-12-10 19:20:00 177

原创 语言小知识-Java ArrayList类 深度解析

花了一天时间,翻译了一遍 java.util.ArrayList 类的源码(1700 多行,还是很有收获的),包括注释和代码解读,并提了一些问题,也写了下自己的理解 点我查看 ArrayList 源码翻译。问题 1:ArrayList 的 size 和 capacity 怎么理解?如果把 ArrayList 看作一个杯子的话,capacity 就是...

2018-12-07 21:06:00 140

原创 技术趣味史-Java 各个版本的特性

从 1995 年开始算起,Java 已经走过了20多个年头,也发布了十余个大版本,了解一下 Java 的不同版本的特性,以便在日常的开发中更好的使用。在《Java语言的身世》(没看的小伙伴可以去看看)中,我们已经知道 Java 是 1995 年宣布诞生的,但这个版本的 Java 更像是一个 Beta 版本,也即是测试版本。软件开发中的版本号修饰词小知识...

2018-11-30 14:38:00 200

原创 算法妙应用-算法的复杂度

算法词云.png0、什么是算法的复杂度?对于任何一个程序来说,都可以从三个方面进行分析,分别是 输入、处理、输出,也即 IPO(Input、Process、Output),这种分析方法对硬件和软件程序都是适用的。数据的来源(Input):可以是硬件传感器收集的,也可以是从网上爬取的...。数据的输出(Output):可以显示在网页上,安卓...

2018-11-28 20:17:00 324

原创 语言小知识-MySQL数据库引擎

MySQL 作为全世界广受欢迎的数据库,被用于很多中小型的项目中,但是你对 MySQL 数据库的存储引擎了解多少呢?1、什么是数据库引擎(这里只对关系型数据库来说)?我们将逻辑表中的数据存储到数据库中,数据库又将我们表中的数据存储到物理设备中(如磁盘,内存)。数据在物理设备上如何存储?如何创建索引?如何进行增删该查操作?对数据在物理设备上的存储和操作方...

2018-11-26 12:05:00 132

原创 技术趣味史-Java语言的身世

Java时间回到 1990 年 12 月,一个叫做 帕特里克·诺顿 的大佬被他公司 Sun 开发的 C++ 和 C语言编译器搞得头大,主要是因为当时 C语言 对一些硬件和系统的支持性并不好,导致一些 API (函数) 特别难用。在这之后,他又和公司另外几位大佬开展一个名为 Green 的计划(之前被称为 Stealth 计划),其中一位大佬就...

2018-11-23 10:36:00 125

原创 如何高效学习编程技术?

通过这段时间的看书学习和对编程的思考,结合自己的亲身的学习经历,今天想和大家聊一聊如何高效学习编程技术。我们可以把学习编程技术的人分为下面四种情况。第一种是既懂方法又努力的,学的又快又好,但大家会觉得这是他们有天赋,甚至称他们是天才,而并没有看到他们的方法和努力。第二种是不懂方法但努力了,这类人学的不快但愿意花时间学,不过由于学习编程技术所需的时间一...

2018-11-20 20:10:00 6965

原创 Python日志库logging总结-可能是目前为止将logging库总结的最好的一篇文章

在部署项目时,不可能直接将所有的信息都输出到控制台中,我们可以将这些信息记录到日志文件中,这样不仅方便我们查看程序运行时的情况,也可以在项目出现故障时根据运行时产生的日志快速定位问题出现的位置。1、日志级别Python 标准库 logging 用作记录日志,默认分为六种日志级别(括号为级别对应的数值),NOTSET(0)、DEBUG(10)、INFO(...

2018-10-14 11:49:00 662

原创 一文读懂SpringMVC工作流程

本文是对 SpringMVC 工作流程的总结,这是前段时间苏宁Java工程师在线笔试的简答题,自己一定要可以用语言描述SpringMVC的工作流程。SpringMVC工作流程.png名词解释:DispatcherServlet:前端控制器,是 SpringMVC 工作流程的中心,负责调用其他组件,在系统启动时就加载该类。Handler:...

2018-10-08 23:53:00 392

原创 小司机带你学习单例模式的六种姿势!

单例模式是创建型模式的一种,下面总结一下在 Java 中实现单例模式的几种方法,并在多线程环境中进行了测试。一、单例模式概念单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供了全局访问的方法。单例模式的三个特点:这个类只能有一个实例。这个类自行创建这个实例。这个类自行向整个系统提供...

2018-10-02 10:26:00 136

原创 代码块相关的题,特么再也不会做错了!

代码块包括静态代码块和非静态代码块,另外还有构造函数,它们的执行顺序是面试中经常考的,理解了下面这些基本知识,特么再也不会做错了。一、静态代码块定义一个类的源文件(.java)被编译为字节码文件(.class)后,当需要使用某个类时,Java 虚拟机就将该类的字节码文件读入内存,加载类中的信息,静态代码块只被执行一次,且静态代码块不能被访问修饰符(p...

2018-09-29 23:05:00 150

原创 一文读懂SpringMVC中的文件上传与下载

这两天研究了一下 SpringMVC 中文件上传与下载,也遇到了一些坑,这里做个总结。1、文件上传下载的原理Web 中文件上传下载是和 HTTP 协议分不开的,想要更加深入的理解文件上传和下载,必须要对 HTTP 协议有充分认识。1.1 文件上传在 TCP/IP 中,最早出现的文件上传机制是 FTP,这是将文件由客户端发送到服务器的标准机制。而在 ...

2018-09-22 20:40:00 192

原创 一文读懂SpringMVC中的数据绑定

本文是对 SpringMVC 中数据绑定的总结。1、SpringMVC 和 Struts2 的区别Struts2 和 SpringMVC 都是 Web 开发中视图层的框架,两者都实现了数据的自动绑定,都不需要我们手动获取参数然后关联到对应的属性上,下面就谈谈两者的区别。Spring MVC 是基于方法的,通过形参接收参数;Struts2 是基于类的...

2018-09-22 20:35:00 180

原创 看完这个,Java IO从此不在难

1、IO体系Java IO 体系看起来类很多,感觉很复杂,但其实是 IO 涉及的因素太多了。在设计 IO 相关的类时,编写者也不是从同一个方面考虑的,所以会给人一种很乱的感觉,并且还有设计模式的使用,更加难以使用这些 IO 类,所以特地对 Java 的 IO 做一个总结。IO 类设计出来,肯定是为了解决 IO 相关的操作的,想一想哪里会有 IO 操作?...

2018-09-11 23:57:00 245

原创 在ArrayList的循环中删除元素,会不会出现问题?

在 ArrayList 的循环中删除元素,会不会出现问题?我开始觉得应该会有什么问题吧,但是不知道问题会在哪里。在经历了一番测试和查阅之后,发现这个“小”问题并不简单!不在循环中的删除,是没有问题的,否则这个方法也没有存在的必要了嘛,我们这里讨论的是在循环中的删除,而对 ArrayList 的循环方法也是有多种的,这里定义一个类方法 remove(),里...

2018-09-07 21:56:00 871

原创 Java 动态代理,看这篇就够了

这篇文章需要用到 Java 的反射知识,如果对反射还不清楚的小伙伴,可以先移步到这里 《Java进阶-反射》。编程思想都是来自于生活的,“代理” 在生活中很常见。比如我们买一个东西时,一般都不会是直接从工厂里买的,而是去商店或者其他的商家买,这些商家做的事情就是代理。再比如,做微商的朋友经常在朋友圈里推广商品,它们也是代理商。Java 程序中的代理是用接...

2018-09-06 00:18:00 276 2

原创 学过框架的必看—Java反射

反射作为 Java 的高级特性,很多框架中都用到了反射的知识,如 Spring,Hibernate等,通过配置就可以动态干预程序的运行,那么什么是反射呢?要想理解 Java 反射,首先要弄清类的加载过程,比如这行代码 Person p = new Person();,我们想要创建一个 Person 对象,并用 p 作为对象的引用。在 Java 虚拟机会先...

2018-09-05 13:06:00 399

原创 Java基础-序列化与反序列化

序列化和反序列化在面试中也经常考查,下面就总结一下 Java 中的序列化和反序列化。什么是序列化和反序列化?序列化是将 Java 对象转换成与平台无关的二进制流,而反序列化则是将二进制流恢复成原来的 Java 对象,二进制流便于保存到磁盘上或者在网络上传输。如何实现序列化和反序列化?如果想要序列化某个类的对象,就需要让该类实现 Serializab...

2018-09-03 18:53:00 121

原创 Java基础-抽象类和接口

抽象类和接口也是 Java 面试中常考的,下面就来总结一下抽象类和接口的相关知识。抽象类是类,Java 中类是单继承的,抽象类是从其他子类中抽象出来的类模板,包含这些子类共有的成员(属性和方法),子类在抽象类的基础上进行修改。和普通类一样,抽象类中也有属性和方法,但是在类名上却多了一个 abstract 关键字和可以有普通类没有的抽象方法,并且抽象类不能...

2018-09-02 08:19:00 75

原创 Java虚拟机内存管理(五)-垃圾收集器

5、垃圾收集器前面的算法都是理论知识,而垃圾收集器是这些算法实现。不同版本的 JDK 选择的垃圾收集器也可能不同,我们在命令行查看安装的 JDK 的默认垃圾收集器,我这里是在 Windows 的 cmd 中输入 java -XX:+PrintCommandLineFlags -version,执行结果如下图。查看默认的垃圾回收器.jpg...

2018-09-01 15:20:00 283

原创 Java基础-Object类中的方法

下面这些是 Java 中的 Object 类中方法,共 11 个,9 种方法,wait() 方法被重载了。方法描述protected native Object clone()创建并返回当前对象的一份拷贝public boolean equals(Object obj)比较两个对象是否相等protected void f...

2018-09-01 15:16:00 112

原创 Java虚拟机内存管理(四)—垃圾回收

Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的 “高墙”,墙外面的人想进去,墙里面的人却想出来。——《深入理解Java虚拟机:JVM高级特性与最佳时实践(第二版)》周志明Java 虚拟机作为运行 Java 程序抽象出来的计算机,具有内存管理的能力,像内存分配、垃圾回收等这些相关的内存管理问题,Java 虚拟机都会帮我们解决,所以...

2018-08-30 09:40:00 102

原创 Java虚拟机内存管理(三)—内存异常

Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的 “高墙”,墙外面的人想进去,墙里面的人却想出来。——《深入理解Java虚拟机:JVM高级特性与最佳时实践(第二版)》周志明Java 虚拟机作为运行 Java 程序抽象出来的计算机,具有内存管理的能力,像内存分配、垃圾回收等这些相关的内存管理问题,Java 虚拟机都会帮我们解决,所以...

2018-08-30 09:37:00 187

原创 Java虚拟机内存管理(二)—堆的使用

Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的 “高墙”,墙外面的人想进去,墙里面的人却想出来。——《深入理解Java虚拟机:JVM高级特性与最佳时实践(第二版)》周志明Java 虚拟机作为运行 Java 程序抽象出来的计算机,具有内存管理的能力,像内存分配、垃圾回收等这些相关的内存管理问题,Java 虚拟机都会帮我们解决,所以...

2018-08-30 09:29:00 120

原创 Java虚拟机内存管理(一)—内存划分

Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的 “高墙”,墙外面的人想进去,墙里面的人却想出来。——《深入理解Java虚拟机:JVM高级特性与最佳时实践(第二版)》周志明Java 虚拟机作为运行 Java 程序抽象出来的计算机,具有内存管理的能力,像内存分配、垃圾回收等这些相关的内存管理问题,Java 虚拟机都会帮我们解决,所以...

2018-08-30 09:24:00 154

原创 为什么人人都需要学习Git?

先来说说 Git 的由来,Git 是一个版本控制软件,最初是由 Linux 之父——林纳斯·托瓦兹 为了更好的管理 Linux 内核代码而编写的。当时 林纳斯 要合并来自其他 Linux 开发者的代码,维护整个 Linux 内核,万一合并代码后出了问题,那么就需要上一个版本的代码,如果是单纯的每个版本都复制保存一份,就需要很多很多代码版本,并且对于频繁的修...

2018-08-21 11:24:00 861

原创 人人都可以用C语言写推箱子小游戏

C语言,作为大多数人的第一门编程语言,重要性不言而喻,很多编程习惯,逻辑方式在此时就已经形成了。这个是我学习 C语言 后写的推箱子小游戏,自己的逻辑能力得到了提升,在这里同大家分享这个推箱子小游戏项目。GitHub 仓库地址:https://github.com/weizhiwen/C-Sokoban先来看看最后的运行的效果。最终的效果图...

2018-08-20 13:00:00 1309

原创 你不知道的 equals 和 ==

先来看一道 equals和 == 相关的面试题吧。下面这段java代码的输出结果是?(不考虑java 1.5之前的老版本和换行)(-摘自牛客网)publi class HelloWorld{ public static void main(String[] args){ Integer i1=127, i2=127, i3=12...

2018-08-17 14:06:00 173 2

原创 编程书籍免费分享

今天给大家免费分享些编程书籍,都是很不错的书,大家可以根据自己的学习情况,有选择的学习。编程书籍C语言C语言相信 C语言 应该是很多人学习的第一门编程语言,给大家分享的这几本书中,《C Primer Plus》和《明解C语言》我都是看过的,这两本书都是国外作者写的,《C Primer Plus》虽然读起来有些啰嗦,但是不得不...

2018-08-15 17:27:00 210 2

原创 学长给计科学弟学妹们的一些建议

1、大学一定要有规划!!!大学一定要有规划!!!大学一定要有规划!!!大学四年时光过得很快的,四年前大家看似差不多,但四年后差距却非常大。大一的整个上学期你都可以思考你的大学怎么过,这很可能是你人生中唯一一次可以自由选择生活的机会。2、了解你的专业。每个专业学习的侧重点都是不一样的,最好的方式就是找专业相关的学长学姐询问。互联网现在这么火热,不存在什么好...

2018-08-15 17:16:00 1115

原创 我的 2018 年中总结

已经大三,马上要步入大四,不准备考研,直接工作,在这里做下 2018 年中总结。这半年的个人情况:女朋友: 无男朋友: 有团队: 有干活的: 我一个人项目: 有论文: 有大二谈过一个女朋友,5个月后双方觉得不合适就分开了,现在还是单身。自己的好基友(不搞基)也开始学习人工智能方向,现在学的还不错,真心为他感到高兴。大三期间申请了学校的创业...

2018-07-06 11:37:00 132

空空如也

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

TA关注的人

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