![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java开发
编程鸭
这个作者很懒,什么都没留下…
展开
-
谷歌为什么要花26亿美元收购数据分析公司Looker ?
当地时间6月6日,谷歌在官网上发文宣布,谷歌已经签署收购Looker公司的最终协议。预计收购将在今年下旬完成,收购完成后Looker将并入谷歌云部门。这笔收购的价格为26亿美元,这也是谷歌母公司Alphabet继2014年用32亿美元收购智能家居公司Nest以来金额最大的收购案例,也是谷歌历史上继摩托罗拉(125亿美元)、Nest(32亿美元)以来的第三大收购案。为了云业务,谷歌一掷千金。...原创 2019-06-08 10:34:25 · 829 阅读 · 0 评论 -
SpringBoot第四篇:整合JDBCTemplate
引言 前面几篇文章介绍了 SpringBoot 的一些基本信息,但是还没有跟数据库交互。接下来几章,我们将陆续介绍 SpringBoot 整合各大主流的 ORM 框架。 操作数据库的方式有很多种。本章介绍 JDBCTemplate 操作数据库。JDBCTemplate 简介 JDBCTemplate 是 Spring 对数据库操作在jdbc上做的深层封装。使用 Sprin...原创 2019-05-31 14:03:50 · 693 阅读 · 0 评论 -
SpringBoot第六篇:整合通用Mapper
引言 在以往的项目中,对于dao层的常规 CRUD 操作,我们通常使用 JPA、JDBC 时会做一个所谓的 BaseDaoMapper 以减少代码量。而通用 Mapper 刚好是这一环节的替代品,代码更简单,更优雅,也是 Mybatis 用的很广泛的一个插件。 不过需要注意的一点是,通用 Mapper 支持单表操作,不支持通用的多表联合查询。使用 下面通过用增删改查的简...原创 2019-05-31 13:45:05 · 930 阅读 · 0 评论 -
SpringBoot第七篇:整合Mybatis-Plus
引言 一看这个名字,就能看出与 MyBatis 有关。没错,它就是一款 MyBatis 的增强工具。 下面我们先介绍这款工具,然后再介绍在 SpringBoot 中的使用。这样符合博主的习惯:在学习一个新的技术或者新的框架之前,一定会思考这个技术或者框架为什么会出现?解决了什么问题?有没有别的取代方案?Mybatis Plus简介1、概念 MyBatis-Plus(...原创 2019-05-31 11:58:12 · 417 阅读 · 0 评论 -
SpringBoot第八篇:整合MyBatis-Generator
MyBatis Generator简介 MyBatis Generator 是 MyBatis 代码生成器。 MyBatis 是一个ORM 的半自动框架,需要手动维护大量的 mapper.xml 文件和 POJO 类。 MyBatis Generator 为了完善 MyBatis 的这个缺点而出现。自动生成 Java POJOs、map.xml、代理接口、以及常规的 CRUD 方法。...原创 2019-05-31 11:51:35 · 189 阅读 · 1 评论 -
SpringBoot第十篇:thymeleaf详解
引言 SpringBoot 对 Web 的支持,官方推荐的是模板引擎 thymelaf。本章中,作者原意是直接讲解 SpringBoot 与 Thymelaf 的集成。但是在示例完成时,发现集成并不难。核心关注点应该是 Thymelaf 模板引擎本身的用法。故本章将其单独提出来讲解。集成部分待下一章详解。简介 Thymeleaf 是一款用于渲染XML/XHTML/HTML5内...原创 2019-05-31 11:07:39 · 161 阅读 · 0 评论 -
Java代码的编译与反编译那些事儿
编程语言在介绍编译和反编译之前,我们先来简单介绍下编程语言(Programming Language)。编程语言(Programming Language)分为低级语言(Low-level Language)和高级语言(High-level Language)。机器语言(Machine Language)和汇编语言(Assembly Language)属于低级语言,直接用计算机指令编写程序...原创 2019-05-27 14:22:03 · 155 阅读 · 0 评论 -
SpringBoot第三篇:配置文件详解二
前言 本文主要讲 yaml 文件。 传统的配置文件有 .xml、.properties、.json 等格式的文件。yaml 文件想对于传统的文件来说,减少很多不必要的标签或者括号,阅读也更加清晰简单。SpringBoot 官方推荐的配置文件,除了 .properties ,还有 yaml 。概述 yaml 文件其实与properties 文件差别不大,主要是层次结构更加...原创 2019-05-31 14:05:18 · 127 阅读 · 0 评论 -
SpringBoot第二篇:配置文件详解一
前言 SpringBoot 完全摒弃了xml配置的模式,几乎做到了“零配置”。说是“几乎”,是因为一般情况下默认的配置足够满足日常开发所需,但是在特殊的情况下,我们往往需要用到自定义属性配置、自定义文件配置、多环境配置、外部命令引导等一系列功能。 SpringBoot 使用的全局配置文件 application.properties 的作用是对一些默认配置的值进行修改。配置文件通常放在...原创 2019-06-01 14:41:34 · 128 阅读 · 0 评论 -
SpringBoot 第一篇:入门篇
前言 博主从去年开始,项目中使用的框架逐渐被 SpringBoot 取代。今年独立负责的两个项目也都是用 SpringBoot ,看过不少资料、博客。网上的资源,内容有长有短,参差不齐。有的内容甚至存在误导性,误导读者从一个坑跳进另一个坑。另外,在项目中使用的 SpringBoot 的功能比较零散。 基于此,想系统整理其相关的知识点以及项目中踩得坑,并记录。一是作为自己的一个成长笔记,...原创 2019-06-01 14:42:43 · 162 阅读 · 1 评论 -
ArrayList相关方法介绍及源码分析
目录 ArrayList简介: ArrayList 相关方法介绍 代码表示 相关方法源码分析 ArrayList简介:java.util.ArrayList是我们最常用的一个类,ArrayList 底层是动态数组,读者可以把它理解为数组的实现public class ArrayList<E> extends AbstractList<...原创 2019-06-02 13:36:04 · 90 阅读 · 0 评论 -
Spring Cloud Zuul API服务网关之请求路由
目录 一、Zuul 介绍 二、构建Spring Cloud Zuul网关 构建网关 请求路由 请求过滤 三、路由详解 一、Zuul 介绍 通过前几篇文章的介绍,我们了解了Spring Cloud Eureka 如何搭建注册中心,Spring Cloud Ribbon 如何做负载均衡,Spring Cloud Hystrix 断路器如何保护我们的服...原创 2019-06-02 11:08:18 · 1166 阅读 · 0 评论 -
Spring IOC源码分析之-刷新前的准备工作
目录 ClassPathXmlApplicationContext的注册方式 加载父子容器 配置路径解析 容器刷新 刷新容器之刷新预处理 ClassPathXmlApplicationContext的注册方式源码分析基于Spring4.3从ClassPathXmlApplicationContext入口,最终都会调用到/* *...原创 2019-06-02 10:47:07 · 85 阅读 · 0 评论 -
一文了解@Conditional注解说明和使用
@Conditional:Spring4.0 介绍了一个新的注解@Conditional,它的逻辑语义可以作为"If…then…else…"来对bean的注册起作用。@Contidional 介绍 Conditional 是由 SpringFramework 提供的一个注解,位于 org.springframework.context.annotation 包内,定义如下。@R...原创 2019-06-02 10:45:48 · 522 阅读 · 0 评论 -
一文了解ConfigurationConditon接口
ConfigurationCondition 接口说明@Conditional 和 Condition 在了解ConfigurationCondition 接口之前,先通过一个示例来了解一下@Conditional 和 Condition。(你也可以通过 https://www.cnblogs.com/cxuanBlog/p/10960575.html 详细了解)首先新建一个Mave...原创 2019-06-02 10:16:09 · 153 阅读 · 0 评论 -
python MySQLdb模块有些操作失效问题解决
今天用这个模块做update操作时没有办法写入库中,原因是如果你使用InnoDB之类的存储引擎管理表的时候需要手动提交事务,否则所有的更改都变得无效。 官方文档见http://mysql-python.sourceforge.net/FAQ.html#my-data-disappeared-or-won-t-go-away Starting with 1.2.0, MySQLdb di...原创 2019-06-01 15:12:46 · 267 阅读 · 0 评论 -
python pickle模块
持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象。通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle以及其它机制)有一个总体认识。另外,还会让您更深一步地了解Python 的对象序列化能力。什么是持久性?持久性的基本思想很简单。假定有一个 Python 程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可...原创 2019-06-01 15:06:27 · 169 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记-垃圾收集器与内存分配策略
在堆里存放着java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前需要知道哪些对象还存活,哪些对象已经死去。那怎么样去判断对象是否存活呢? 一、判断对象是否存活算法 1、引用计数法 实现思路:给对象添加一个引用计数器。每当有一个地方引用它时,计数器加1;引用失效时计数器减1。在任何时刻计数器为0的对象就是不可能再被使用的。 优点:实现简单,效率高。 ...原创 2019-05-27 13:53:36 · 173 阅读 · 0 评论 -
你必须了解的java内存管理机制(二)-内存分配
前言 在上一篇文章中,我们花了较大的篇幅去介绍了JVM的运行时数据区,并且重点介绍了栈区的结构及作用,相关内容请猛戳!在本文中,我们将主要介绍对象的创建过程及在堆中的分配方式。 相关链接(注:文章讲解JVM以Hotspot虚拟机为例,jdk版本为1.8,个人技术博客www.17coding.info) 1、你必须了解的java内存管理机制-运行时数据区 2、你必须了解的ja...原创 2019-05-27 11:29:24 · 191 阅读 · 0 评论 -
java面试真题
001_Java跨平台原理(字节码文件、虚拟机)C/C++语言都直接编译成针对特定平台机器码。如果要跨平台,需要使用相应的编译器重新编译。Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过Java虚拟机来执行的。字节码文件不面向任何具体平台,只面向虚拟机。Java虚拟机是可运行Ja...转载 2019-04-16 10:28:03 · 262 阅读 · 0 评论 -
Java 中整型的缓存机制
本文将介绍Java中Integer的缓存相关知识。这是在Java 5中引入的一个有助于节省内存、提高性能的功能。首先看一个使用Integer的示例代码,从中学习其缓存行为。接着我们将为什么这么实现以及他到底是如何实现的。你能猜出下面的Java程序的输出结果吗。如果你的结果和真正结果不一样,那么你就要好好看看本文了。package com.javapapers.java;pub...转载 2019-04-16 10:19:22 · 202 阅读 · 0 评论 -
18个有趣的Linux命令运行的彩蛋&游戏
1、《Matrix》字节数据流在命令行中输入以下命令安装并运行。sudoapt-getinstallcmatrixcmatrix还可输入参数控制颜色。cmatric-Cred按ctrl+c退出。在《Matrix》电影里的字节流其实是该片美术指导Simon Whitley的日本妻子菜谱上的片假名。2、仪表盘之blessed-contr...原创 2019-04-08 10:51:50 · 1173 阅读 · 0 评论 -
老大难的空指针,如何优雅处理?
导语在笔者几年的开发经验中,经常看到项目中存在到处空值判断的情况,这些判断,会让人觉得摸不这头绪,它的出现很有可能和当前的业务逻辑并没有关系。但它会让你很头疼。有时候,更可怕的是系统因为这些空值的情况,会抛出空指针异常,导致业务系统发生问题。此篇文章,我总结了几种关于空值的处理手法,希望对读者有帮助。业务中的空值场景存在一个UserSearchService用来提供用户查询...转载 2019-04-02 10:59:40 · 1323 阅读 · 0 评论 -
新手能看懂的(Interceptor)和(Filter)区别与使用!
一、拦截器与过滤器我们先了解一下过滤器和拦截器。这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的。在分析两者的区别之前,我们先理解一下AOP的概念,AOP不是一种具体的技术,而是一种编程思想。在面向对象编程的过程中,我们很容易通过继承、多态来解决纵向扩展。但是对于横向的功能,比如,在所有的service方法中开启事务,或者统一记录日志等功能,面向对象的是无法解决的。所以AO...转载 2019-03-28 11:28:36 · 326 阅读 · 0 评论 -
Java小白如何一步一步变成Java大神的你知道吗?
对于刚刚接触编程的小白来说,对于如何学习可谓是脑子里一团浆糊,很多人都不知道该怎么去学习。今天小编就给大家分享一下Java学习的路线图吧。java学习路线图今天把java的学习路线图以及需要学习的知识点做一个简单的介绍首先我们得明白程序的组成部分,假设以google这个应用程序为例:打开google可以看到主界面当点击搜索的时候,请求到后台去处理然后后台去到数据库找相应...原创 2019-03-24 14:10:10 · 979 阅读 · 1 评论 -
8 种常被忽视的 SQL 错误用法,舅服你!
sql语句的执行顺序:FROM<left_table>ON<join_condition><join_type>JOIN<right_table>WHERE<where_condition>GROUPBY<group_by_list>HAVI...原创 2019-04-04 16:54:13 · 170 阅读 · 0 评论 -
Spring中的拦截器与动态代理的几大模式
什么是代理模式?如果用专业术语来解:为其他对象提供一种代理以控制对这个对象的访问。如果投影在生活中,它可以理解成中介 黄牛 经纪人等…解决的问题:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时...原创 2019-03-22 14:39:06 · 1019 阅读 · 0 评论 -
Java 面试题 :百度前 200 页都在这里
基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 post...转载 2019-04-21 18:24:04 · 97 阅读 · 0 评论 -
Java 问题排查工具单
前言平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。闲话不多说,开搞。Linux命令类tail最常用的tail -ftail -300f shopbase.log #倒数300行并进入实时监听文...转载 2019-04-14 17:51:29 · 213 阅读 · 0 评论 -
Java阻塞队列学起来!
前言较长一段时间以来我都发现不少开发者对 jdk 中的 J.U.C(java.util.concurrent)也就是Java并发包的使用甚少,更别谈对它的理解了;但这却也是我们进阶的必备关卡。之前或多或少也分享过相关内容,但都不成体系;于是便想整理一套与并发包相关的系列文章。其中的内容主要包含以下几个部分: 根据定义自己实现一个并发工具。 JDK的标准实现。 ...转载 2019-04-15 11:22:03 · 98 阅读 · 0 评论 -
java HashMap那点事
集合类的整体架构比较重要的集合类图如下: 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否 ...原创 2019-05-22 11:06:01 · 90 阅读 · 0 评论 -
如何推翻JAVA的统治地位?
“java越来越过份了。”php狠狠的说,他转头看着C:“C哥,您可是前辈,java最近砸了我不少场子,您老再不出来管管,我怕他眼里就没有您了啊。”C哥吸烟,慢慢的说:“年轻人不要着急,java的根在我们这里,再怎么折腾,也还是自己人啊,不像nodejs,非我族类,其心必异,我可是听说,nodejs也抢了你不少地盘啊?”“嘿嘿,nodejs就是小打小闹,小地方出来切页面的,能有多大眼光...原创 2019-05-25 10:48:21 · 194 阅读 · 0 评论 -
Spring Cloud Gateway VS Zuul 比较,怎么选择?
Spring Cloud Gateway 是Spring Cloud Finchley版推出来的新组件,用来代替服务网关:Zuul。那 Spring Cloud Gateway 和 Zuul 都有哪些区别呢,咱们来比较一下。1、开源组织Spring Cloud Gateway 是 Spring Cloud 微服务平台的一个子项目,属于 Spring 开源社区,依赖名叫:spri...转载 2019-05-10 14:59:20 · 1093 阅读 · 0 评论 -
Java之Spring Boot详解
文章大纲一、Spring Boot 概述二、Spring Boot 入门案例三、Spring Boot核心功能代码实战四、项目源码与资料下载五、参考文章一、Spring Boot 概述1. 什么是 Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用...原创 2019-05-19 14:51:17 · 773 阅读 · 0 评论 -
java之网络爬虫介绍
文章大纲一、网络爬虫基本介绍二、java常见爬虫框架介绍三、WebCollector实战四、项目源码下载五、参考文章一、网络爬虫基本介绍1. 什么是网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。2. ...原创 2019-05-19 14:48:44 · 15998 阅读 · 1 评论 -
java数据结构和算法08(B树的简单原理)
这一篇首先会说说前面剩余的一点知识2-3树,然后简单说说B树,不写代码,只是简单看看原理吧! 为什么要说一下2-3树呢?了解2-3树之后能更快的了解B树;1.简单看看2-3树 其实我们学过了前面的2-3-4树之后,再看2-3树就太容易了,2-3树中任意一个节点最多只有三个子节点,而且节点中只有两个空位置可以存数据;除了分裂,其他的都和2-3-4树一样的,就不多说了,下面我们...原创 2019-05-19 14:35:10 · 184 阅读 · 0 评论 -
Java之Spring Cloud概念介绍
文章大纲一、理解微服务二、Spring Cloud知识介绍三、参考资料下载四、参考文章一、理解微服务 我们通过软件架构演进过程来理解什么是微服务,软件架构的发展经历了从单体结构、垂直架构、SOA架构到微服务架构的过程。1. 单体架构1.1 特点(1)所有的功能集成在一个项目工程中。(2)所有的功能打一个war包部署到服务器。(3)应用与数据库分...原创 2019-05-19 14:33:29 · 11293 阅读 · 0 评论 -
java集合框架综述
一、集合框架图简化图:说明:对于以上的框架图有如下几点说明1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3. 抽象类:5个抽象类(长虚线表...原创 2019-05-19 14:07:47 · 127 阅读 · 0 评论 -
如何让对象属性不可配置或枚举
一、什么是属性描述符?MDN:对象里目前存在的属性描述符有两种主要形式:数据描述符和存取描述符。 数据描述符是一个拥有可写或不可写值的属性。 存取描述符是由一对 getter-setter 函数功能来描述的属性。 描述符必须是两种形式之一;不能同时是两者。 数据描述符和存取描述符均具有以下可选键值:value 与属性相关的值。可以是任何有效的 Jav...原创 2019-03-25 14:41:18 · 600 阅读 · 0 评论