- 博客(66)
- 收藏
- 关注
转载 spring.factories文件作用?
本文涉及spring-boot版本为2.1.6.RELEASE在阅读spring-boot相关源码时,常常见到spring.factories文件,里面写了自动配置(AutoConfiguration)相关的类名,因此产生了一个疑问:“明明自动配置的类已经打上了@Configuration的注解,为什么还要写spring.factories文件?”这个话题需要从@SpringBootApplication注解开始说起。查看@SpringBootApplication源码,我们能看到继承的以下注解
2021-04-14 11:29:51 593
原创 谈谈对一致性Hash算法的理解
一、前言在解决分布式系统负载均衡问题的时候,可以用hash取模算法“hash(请求关键字)%服务器的数量”,让固定的一部分请求落到同一台服务器上,这样每台服务器固定的处理一部分请求,起到负载均衡的作用,但这样的算法可收缩性很差,当服务器扩容、或者宕机,机器数量发生变化时,请求和机器的映射关系就会大量失效,下面通过举例来说明这个问题。场景描述:假设,公司有三台缓存服务器需要缓存,这三台缓存服务器的编号为0号,1号,2号,现在有三万张图片需要缓存,希望这么多的缓存数据能均匀的缓存到3台服务请求上去(
2020-08-18 17:13:15 461
原创 关于Redis的一些总结
一、Redis是什么?Redsi是一种高性能的key-value NOSQL数据库,内置多种数据结构,支持市面多种主流语言,使用起来简单便捷。二、为什么使用Redis ?因为传统的关系型数据库如Mysql不能适用于高访问流量场景,很容易把数据库打崩,所以引入了缓存中间件,目前市面上比较常用的缓存中间件有Redis和Memcached,redis支持多种数据结构,是单线程,完全基于内存,逻辑简单,没有加锁释放锁的性能消耗,支持RDB镜像持久化和AOF增量持久化,支持分布式存储,在综合考虑了他们的优
2020-08-15 11:50:11 250
转载 分享
给的是P6,base毕竟低,胆小,没敢和hr去撕逼,argue就不说了,同时也是红线就不透露太多了。说一下我大致情况吧,普通二本软件工程毕业,刚开始在一家小的创业型公司crud,随后进了一家独角兽(2b方向),也是crud。经验3年不到,其实对我而言,优势不大,属于那种简历送给hr,还没机会给对应部门看,就被砍的那种,你懂的!简历,最好能找大厂的小哥哥帮你看看,改到他们觉得可以过hr的法眼,让他们帮你内推,这样基本能获取到面试的机会,不然机会都没有,只能做大厂梦了。简历最好有亮点,能够量化的
2020-08-12 10:57:38 166
转载 深入分析synchronized的实现原理
记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。诚然,随着Javs SE 1.6对synchronized进行的各种优化后,synchronized并不会显得那么重了。下面跟随LZ一.
2020-08-10 15:54:19 245
原创 关于HashMap&ConcurrentHashMap&HashTable的一些总结
一、HashMap 底层实现原理 从存储方式来讲:底层是Node数组,初始长度为16,每个元素是一个Node节点,实现了Map.Entry接口,属性有key、value、hash 以及指向下个节点的next,我们可以理解为链表的数组。 当向集合中插入元素时,通过key的hash()方法,计算出待插入元素在数组中下标 如果当前下标没有元素,则直接new 一个Node节点,保存key/value/hash , 如果当前下标有元素,说明要插入的元素hash值和此下标对应的单链表所...
2020-07-24 19:39:35 186
转载 多线程访问static变量是否存在并发问题
类的成员分为两类,静态成员(static member)和实例成员(instance member)。静态成员属于类;实例成员则属于对象,即类的实例。先看一个类:public class staticDemo { static int result; static int Addone(Integer num){ Integer inner_result=...
2019-04-08 14:21:50 13197 3
转载 Redis数据分片
Redis的分片(Sharding或者Partitioning)技术是指将数据分散到多个Redis实例中的方法,分片之后,每个redis拥有一部分原数据集的子集。在数据量非常大时,这种技术能够将数据量分散到若干主机的redis实例上,进而减轻单台redis实例的压力。分片技术能够以更易扩展的方式使用多台计算机的存储能力(这里主要指内存的存储能力)和计算能力:(1)从存储能力的角度,分片技术通过...
2018-08-18 14:16:16 488
转载 Python3.5 使用Sqlite3
Python3.5 使用Sqlite3 python3.5 安装的时候会有很多可选参数,这些参数是默认不提供的,可是当我们想通过pip install、esay_install 的时候却发现无法安装; 在这种情况下,我们只能从新安装python.并在编译的时候添加到可选参数,------------------------1 安装Sqlite31.1 下载SQLTLE3:https://www.s...
2018-05-28 13:47:15 1680
转载 Java NIO:浅析I/O模型
一.什么是同步?什么是异步? 同步和异步的概念出来已经很久了,网上有关同步和异步的说法也有很多。以下是我个人的理解: 同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行; 异步就是:如果有多个任务或者事件发生,这些事件可以并发地执行,一个事件或者任务的执行不会导致整个流程的暂时等待。 这就是同步...
2018-05-24 10:46:57 202
转载 RabbitMQ入门教程 For Java【2】 - Work Queues
RabbitMQ入门教程 For Java【2】 - Work Queues提示: 我的开发环境: 操作系统: Windows7 64bit 开发环境: JDK 1.7 - 1.7.0_55 开发工具: Eclipse Kepler SR2 RabbitMQ版本: 3.6.0 Elang版本: erl7.2.1 关于Windows7下安装RabbitMQ的教程请先在网上找一下,有空我再补安装教程。...
2018-05-22 10:28:54 583
转载 RabbitMQ入门教程 For Java【1】 - Hello World
RabbitMQ入门教程 For Java【1】 - Hello World RabbitMQ是消息代理。从本质上说,它接受来自生产者的信息,并将它们传递给消费者。在两者之间,它可以根据你给它的路由,缓冲规则进行传递消息。 如果你的工作中需要用到RabbitMQ,那么我建议你先在电脑上安装好RabbitMQ服务器,然后打开eclipse,跟这我的教程一步步的学习Rabbit...
2018-05-22 10:27:36 374
转载 Docker部署Tomcat web应用
一、在线下载dockeryum install -y epel-releaseyum install docker-io # 安装dockerchkconfig docker on # 加入开机启动service docker start # 启动docker服务1234567二、docker安装Tomcat容器2.1.查找服务器的tomcat信息# docker ...
2018-05-10 15:51:33 6962
转载 从navicat中导入sql文件过大:Got a packet bigger than 'max_allowed_packet' bytes
失败背景:刚才通过navicat向本地mysql数据库中导入sql文件。第一个sql文件(多个表)大小为967M,导入成功;第二个sql(单个表)大小为50.1M,导入失败。1.在navicat中按F6进入mysql的命令界面输入命令: mysql>show VARIABLES like '%max_allowed_packet%';显示:+-------------------------...
2018-04-02 09:33:01 359
转载 RESTful API的理解
技术交流的时候遇到了这样的一个问题,被问及开发中用到的是不是Restful API,我说的是,我们现在用到的不属于完全是Restful API。因为我了解到的Restful API,是 通过具体的URI定位符,找到对应的资源,然后以固定的格式返回数据,这样的才是Restful API。然而在我模糊的表达中,对方听出来的是,我现在开发的API依然属于Restful API。那么什么才是真正的Rest...
2018-03-30 09:35:18 163
转载 SpringBoot1.5以上版本自定义配置文件
最近在学习SpringBoot方面的知识,基本的框架已经了解的差不多了,今天在搭框架的时候,想到了一个使用场景:在一个Web平台上,如果没有登录该平台,那么访问的界面是有限的,这样我就需要做一个白名单,未登录的用户如果访问的是白名单中的页面,是可以不需要验证其登陆的。这样问题的解决思路是我需要一个List来放置我的白名单路径,但是我有又不想将这个白名单放置在静态变量中,所以想到了SpringBoo...
2018-03-13 09:41:35 1203
转载 Ubuntu14.04和16.04官方默认更新源sources.list和第三方源推荐(干货!)
写在前面:笔者由于还在学校学习,学校没有开发给Linux用的上网客户端,所以只能用在windows系统中通过安装虚拟机运行linux比较方便,但没有外网,只有学校的教育网,所以我需要将ubuntu的默认源修改为教育网中的资源才可以完美运行ubuntu,当然这个教程也适用于修改为非教育源。 第一步,备份官方的默认源 避免自己手贱操作失误,重装系统太费时间cp /etc/apt/sources.li...
2018-03-02 15:47:42 6976 4
原创 maven 打包时,jar should not point at files within the project directory 问题解决
原来是web项目,想通过自动部署插件把web项目打成war放到tomcat下 在项目根部加了一个pom文件 但打包的时候却报错 should not point at files within the project directory antlr antlr 2.7.7 system
2018-01-24 16:30:47 14001
转载 spring-boot项目在外部tomcat环境下部署
spring-boot默认提供内嵌的tomcat,所以打包直接生成jar包,用java -jar命令就可以启动。但是,有时候我们更希望一个tomcat来管理多个项目,这种情况下就需要项目是war格式的包而不是jar格式的包。spring-boot同样提供了解决方案,只需要简单的几步更改就可以了,这里提供maven项目的解决方法:1.将项目的启动类Application.java继承Spri
2018-01-24 14:44:22 743
转载 idea将Web项目导出为war包(非SpringBoot搭建)
idea 那么好用,早就把eclipse抛弃了。不过每次都是在给项目发包的时候,不得不重新打开eclipse导出为war包。感觉自己蠢蠢的。上网查了一下教程,按照网上的教程设置好了之后,运行项目发现并没有在设置好的输出路径生成war包。研究了一番发现网上的教程好像都是,戛然而止在最后一步了啊。这里写一下我的完整的流程。首先点击这里进入项目的配置页面在Arti
2018-01-24 11:52:40 337
转载 IDEA 导出自己的jar包 并且在另一个工程中引用
1.导出jar包1.1 idea导出jar包不如eclipse方便,但是熟练了也很容易操作1.2 File -> Project Settings -> Artifacts(艺术品)1.3 点击第二行的 “+” 号 -> Add -> 选择第一个 jar 1.4 修改Name, Output directory保持默认即可1.5 在Output Layout
2018-01-24 10:34:57 337
转载 Maven 手动添加 JAR 包到本地仓库
Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢,一般我发现下载速度不明显的时候,我就 Ctrl + C 来终止它的下载。然后改用手动来下载,因为用迅雷一类的工具来下载会快很多。我机子上 Maven 的本地仓库的很多 JAR 包我都是手动下载的。手
2018-01-19 13:40:30 204
转载 elasticsearch不能以root运行的问题
当我们在使用elasticsearch的时候,如果是以root权限来执行elasticsearch./elasticsearch1则会有以下报错Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. at org.elasticsearch.bootstr
2018-01-08 14:48:35 2653
转载 Nginx配置HTTPS证书网站
前提: 1、主机需要先安装openssl 2、编译安装nginx时,要加上--with-http_ssl_module 这个ssl模块现在开始配置:(我当时配置时,主机已安装了openssl,但编译时没有加载http_ssl_module模块,所以后面会报错,这里详解说明下)1、生成自签字证书 1 [root@localhost /]# o
2018-01-06 09:58:32 472
转载 SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoade
创建一个干净Spring MVC用Tomcat启动之后一直显示下面这个错误,网上找了很多方法也没有解决问题,后面最终找到终极解决方案错误信息:SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
2017-07-10 18:51:44 276
原创 -Dmaven.multiModuleProjectDirectory system propery is not set.
Myeclipse中使用maven插件的时候,运行run as maven build的时候报错-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.项目使用的JDK1.7,maven插
2017-07-01 17:36:03 242
转载 微信小程序前端源码逻辑和工作流
看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简。废话不多说,直接分析前端代码。个人观点,难免有疏漏,仅供参考。文件基本结构: 先看入口app.js,app(obj)注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。其他文件可以通过全局方法getApp()获取app实例,进而直接调用
2017-06-28 17:27:01 545
原创 J2EE 开发环境配置Window7 64位常用工具下载地址
一、Myeclipse 2014 下载地址http://dlsw.baidu.com/sw-search-sp/soft/da/28482/myeclipse_pro_2014_windows.1403583950.exe二、Mysql 5.5.29下载地址http://download.csdn.net/detail/finewind/5037491三
2017-06-22 12:33:31 272
转载 SVN服务器搭建和使用(二)
上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使用.首先打开VisualSVN Server Manager,如图:可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.要建立版本库,需要右键单击左边窗口的Reposito
2017-06-21 17:25:03 217
转载 SVN服务器搭建和使用(一)
Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.首先来下载和搭建SVN服务器.现在Subversion已经迁移到apache网站上了,下载地址:http://subversion.apache.org/packages.html这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码,文档的下载地址.windows操作系统
2017-06-21 16:17:01 207
转载 FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
这是关于FastJson的一个使用Demo,在Java环境下验证的[java] view plain copyclass User{ private int id; private String name; public int getId() { return id;
2017-06-09 17:12:38 220
原创 微信开发之JSSDK接口开发(Java)
前不久做了一个微信公众号项目,有用到JSSDK接口,之后一直想找个时间,把代码整理出来,今晚正好有空,就索引整理一下。接口文档就不细说了,参考地址:https://mp.weixin.qq.com/wiki。 下面说说如何去调用接口,
2017-06-07 22:31:15 1768
转载 Log4j配置详解
来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:
2017-06-06 21:37:51 266
转载 SSM框架——使用MyBatis Generator自动创建代码
这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。 使用自动生成有很多方式,可以在eclipse中安装插件,
2017-06-06 21:37:02 399
转载 使用maven创建web项目
目前做的项目使用的是MAVEN来管理jar包,这也是我第一次接触maven,感觉非常好,再也不用一个一个去添加和下载jar包了,直接在maven配置文件中配置就可以了,maven可以帮助我们自动下载。非常方便。之前比较忙没时间整理,现在整理一下,记录下来,加深印象。当然我们使用maven也只是最基本的,很多其他功能都没有使用到,本篇仅介绍如何创建一个maven项目,不做其他。
2017-06-06 21:36:07 252
转载 MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
这次换了台电脑,所以需要重新配置一次项目开发环境,过程中的种种,记录下来,便于以后再次安装,同时给大家一个参考。1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底。安装完成之后当然要配置环境变量了。——————————————————————————————————————————————————
2017-06-06 21:35:22 323
转载 SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
使用SSM(spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。
2017-06-05 21:57:07 410
转载 JAVA学习笔记(6)_____Java 策略模式 Strategy Pattern
策略模式Strategy Pattern 在Java的集合框架中,经常需要通过构造方法传入一个比较器Comparator,或者创建比较器传入Collections的静态方法中作为方法参数,进行比较排序等,使用的是策略模式。策略模式的定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。 体
2014-07-30 17:07:08 543
转载 C++读写文件总结
一、ASCII 输出为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O操作。如果你猜是"fstream," 恭喜你
2014-06-22 21:41:52 742
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人