Spring全家桶系列–SpringBoot渐入佳境

//本文作者:cuifuan //本文将收录到菜单栏:《Spring全家桶》专栏中 萌新:小哥,我在实体类写了那么多get/set方法,看着很迷茫 小哥:那不是可以自动生成吗?萌新:虽然可以自动生成,但是如果我要修改某个变量的数据类型,我岂不是还要去修改get/set方法?小哥:哈哈,那我今天给你说 ... »

设计模式是什么鬼(责任链)

//本文作者:凸凹里歐 //本文收录菜单栏:《设计模式是什么鬼》专栏中 曾经有这么一些零散的功能节点,他们各自承担各自的义务,分工明确,各司其职。为了更高效,更完整地解决客户的问题,他们发扬团队精神,互相串联起来形成一个有序的责任传递链表,于是责任链模式诞生了。当然,它的结构也不一定非得是链表,甚至 ... »

漫画 | Java多线程与并发(二)

1、什么是线程池? 为什么要使用它? 2、Java中invokeAndWait 和 invokeLater有什么区别? 3、多线程中的忙循环是什么? 4、Java内存模型是什么? 线程内的代码能够按先后顺序执行,这被称为程序次序规则。对于同一个锁,一个解锁操作一定要发生在时间上后发生的另一个锁定操作 ... »

Spring全家桶系列–SpringBoot与Mybatis结合

//本文作者:cuifuan Mybatis 是一个持久层ORM框架,负责Java与数据库数据交互,也可以简易理解为中介,相对于它,还有个中介是hibernate,不过在mybatis中sql语句的灵活性,可优化性比较强,这也是现在大多数人选择的原因。 1. mapper.xml、dao接口、实体类 ... »

Java-函数式编程(三)流(Stream)

流使程序猿可以在抽象层上对集合进行操作。 从外部迭代到内部迭代 什么是外部迭代和内部迭代呢? 个人认为,外和内是相对集合代码而言。 如果迭代的业务执行在应用代码中,称之为外部迭代。 反之,迭代的业务执行在集合代码中,称为内部迭代(函数式编程)。 语言描述可能有点抽象,下面看实例。 1. 外部迭代 调 ... »

Java-函数式编程(二)Lambda表达式

“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。 认识l ... »

Spring全家桶系列–[SpringBoot入门到跑路]

//本文作者:cuifuan Spring全家桶————[SpringBoot入门到跑路] 对于之前的Spring框架的使用,各种配置文件XML、properties一旦出错之后错误难寻,这也是为什么SpringBoot被推上主流的原因,SpringBoot的配置简单,说5分钟能从框架的搭建到运行也 ... »

Java面试中遇到的坑【填坑篇】

看到大家对上篇《Java面试中遇到的坑》一文表现出强力的关注度,说明大家确实在面试中遇到了类似的难题。大家在文章留言处积极留言探讨面试中遇到的问题,其中几位同学还提出了自己的见解,我感到非常高兴,还有几位同学强烈要求给出题目答案,那我很乐意跟大家一起探讨分享这些题目。 我将题目答案写下来,这个并非标 ... »

漫画 | Java多线程与并发(一)

1、什么是线程? 2、线程和进程有什么区别? 3、如何在Java中实现线程? 4、Java关键字volatile与synchronized作用与区别? volatile修饰的变量不保留拷贝,直接访问主内存 synchronized用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线 ... »

Java-函数式编程(一)初识篇

开发者使用Java8编写复杂的集合处理算法,只需要简单的代码就能在多喝cpu上高效运行,这就是Lambda表达式的初衷。 提示:函数式编程和语言无关,它是一种思想,任何语言都可以实现函数式编程,区别只是实现的难易程度不同而已。 在java中,lambda本身就是函数式编程的运用,那什么是函数式编程呢 ... »

漫画 | Spring AOP

上期,我们看到有小伙伴留言说希望讲讲AOP 然后...... 别激动,来得及 什么是AOP AOP是Spring 框架的一个关键组件,全称为Aspect-OrientedProgramming(面向切面编程),目前已是一种比较成熟的编程方式。 AOP采取横向抽取机制,将分散在各个方法中的重复代码提取 ... »

Java 面试中遇到的坑

Java开发中很多人都不愿意修改自己以前的代码,看别人的代码更是无法忍受,当看到别人代码里面一些匪夷所思的写法实现时,恨不得找到负责人好好跟他谈谈心,那么你在开发中是不是也使用到以下几种实现呢。 1.StringBuilder替代String拼接面试中经常问 String,StringBuilder ... »

面试中常问的List去重问题,你都答对了吗?

面试中经常被问到的list如何去重,用来考察你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固。 我们大家都知道,set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单。 如下示例 ... »

漫画 | Redis常见面试问题(二)

上期,小知和阿音在进行面试问答,可是呢,还没问完小知就表示累了想休息一会,然后就休息去了,但是,以为这样就完了吗? 当然不是,还得继续啊,嘿嘿嘿 注:对于第一种,需要应用程序自己处理资源的同步,可以使用的方法比较通俗,可以使用synchronized也可以使用lock;第二种需要用到Redis的se ... »

如何高效的使用-Notepad++

Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。 中文版下载地址:链接: https://pan.bai ... »

漫画 | 数据库设计全过程

引言 数据库已成为现代信息系统的基础和核心,它的设计全过程可划分为规划、需求分析、概念设计、逻辑设计、物理设计、实现和运行维护 规划 调查研究 对数据库的应用系统、面向对象、使用单位等与数据库功能和数据存在关联的事物进行全面理解和调查。 可行性分析 从技术、可用设备、时间效率、经济效益、法律法规等方 ... »

漫画 | Redis常见面试问题(一)

最近,阿音在为接下来的一场面试做准备,其中的内容包括redis,而且redis是重点内容。 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它支持存储的类型包括string(字符串)、list(链表)、set( ... »

springboot学习-springboot使用spring-data-jpa操作MySQL数据库

我们在上一篇搭建了一个简单的springboot应用,这一篇将介绍使用spring-data-jpa操作数据库。 新建一个MySQL数据库,这里数据库名为springboot,建立user_info数据表,作为我们示例操作的表对象。 user_info信息如下: 数据库及表创建成功后,回到我们的工程 ... »

算法之广度优先搜索

一、引言 > 上一次介绍的算法是深度优先搜索 > 这次我们来研究一下广度优先搜索,看看怎么理解以及写出这个算法 > 这个算法需要数据结构的基础--队列,如果没有这个基础的同学去恶补一下。 二、小小问题 Q:在一个二维地图中,从一个点到另一个点的最短路径(从1到0,输入终点位置,输出最少步数) 1 - ... »

python之Flask实现登录功能

lask_login登录实现Demo,涉及到Flask-SQLAlchemy、Flask-Login、Flask-WTF、PyMySQL等知识点,如果正在学习相关知识,这个或许是一个不错的参照! ... »