Dodd

dont be shy, just try!


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 友情链接

  • links

  • 公益404

  • 搜索

Spring Boot(二):配置文件详解

发表于 2018-08-19 | 分类于 SpringBoot | | 阅读次数:

介绍

Spring Boot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下。Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。比如自定义应用端口号(比较在机器比较少的情况下,一台机器还是需要部署多个应用的,当然利用docker的话,是可避免的,这是后话了)、mq的服务地址、缓存服务的服务地址、数据库的配置等,都或多或少的需要一些外部的配置项等。

阅读全文 »

Spring Boot(一):优雅的入门

发表于 2018-08-12 | 分类于 SpringBoot | | 阅读次数:

介绍

从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用习惯优于配置(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

阅读全文 »

Hexo+Github多地备份

发表于 2018-07-29 | 分类于 Hexo | | 阅读次数:

Hexo+Github个人博客多地备份

个人博客家里和公司各有一份环境,随时编辑更新,之前是这么做的,最近在新公司电脑上配置hexo环境的时候,发现还是遇到了很多坑,很多细节操作忘记了,现在趁热做下笔记

阅读全文 »

java线程池的使用

发表于 2018-03-17 | 分类于 JAVA , Java进阶 | | 阅读次数:

前言

合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。

阅读全文 »

Java线程池的运行原理

发表于 2018-03-17 | 分类于 JAVA , Java进阶 | | 阅读次数:

线程池的运行原理

本文基于JDK1.8源码进行分析。

线程池是维护了一批线程来处理用户提交的任务,达到线程复用的目的,线程池维护的这批线程被封装成了Worker。当我们向线程池提交任务时,通常使用execute方法,接下来就先从该方法开始分析。execute方法:

阅读全文 »

Java线程池

发表于 2018-03-17 | 分类于 JAVA , Java进阶 | | 阅读次数:

java线程池简介

我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。

线程池是维护了一批线程来处理用户提交的任务,达到线程复用的目的。

阅读全文 »

Java值传递和引用传递

发表于 2018-03-16 | 分类于 JAVA , Java进阶 | | 阅读次数:

前言

关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,下面总结一下这个问题。Java中数据类型分为两大类,基本类型和对象类型。相应的,变量也有两种类型:基本类型和引用类型。

基本类型的变量保存原始值,即它代表的值就是数值本身;

而引用类型的变量保存引用值,引用值指向内存空间的地址,代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。

基本类型包括:byte,short,int,long,char,float,double,Boolean

引用类型包括:类类型,接口类型和数组。

阅读全文 »

MySQL存储引擎

发表于 2018-03-13 | 分类于 数据库 , MySQL | | 阅读次数:

MySQL存储引擎

存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。
在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎。

阅读全文 »

字符串排序

发表于 2018-02-02 | 分类于 数据结构与算法 , Algorithm | | 阅读次数:

介绍

低位优先(Least-Significant-DigitFirst,LSD) 的字符串排序:从右到左检查键中的字符。如果将一个字符串看作一个256进制的数字,那么从右向左检查字符串就等价于先检查数字的最低位。这种方法最适合用于键的长度都相同的字符串排序应用。

高位优先(MSD) 的字符串排序:从左到右检查键中的字符,首先查看的是最高位的字符。高位优先的字符串排序的吸引人之处在于。它们不一定需要检查所有的输入就能够完成排序。高位优先的字符串排序和快速排序类似,因为它们都会将需要排序的数组切分为独立的部分并递归地用相同的方法处理子数组来完成排序。区别在于 高位优先的字符串排序算法在切分时仅使用键的第一个字符,而快速排序的比较会涉及键的全部。

低位优先方法会为每个字符创建一个切分,而高位优先方法总会产生三个切分,分别对应被搜素键的第一个字符小于、等于或大于切分键的第一个字符的情况。

阅读全文 »

散列表

发表于 2018-01-30 | 分类于 数据结构与算法 , Algorithm | | 阅读次数:

介绍

用一个数组来实现无序的符号表,将键作为数组的索引而数组中键i处存储的就是它对应的值。这样我们就可以快速访问任意键的值。散列表就是这种简易方法的扩展并能够处理更加复杂的类型的键。我们需要用算术操作将键转化为数组的索引来访问数组中的键值对。

使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。第二步是一个处理碰撞冲突的过程。两种解决碰撞的方法:拉链法 和 线性探测法 。散列表的核心问题碰撞冲突如下图:

阅读全文 »
1…8910…18
dodd

dodd

不吃狗粮,不喝鸡汤

175 日志
22 分类
26 标签
微博 知乎
Links
  • JavaChen
  • 酷壳
© 2020 dodd
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.3