自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

转载 到底什么时候该跳槽?

引言每年的3、4月份都是求职高峰时期,目前已进入6、7月份了,你已经成功换工作了吗?这次我们想聊的,就是程序员跳槽这件事儿,我打算从三个方面来说:1)程序员什么时候该跳槽?2)跳槽前你需要做的准备工作?3)到哪里找跳槽机会? 这个方法很简单,你只需做下面这件事儿:在周日的晚上,想着明天要上班了,记录自己此刻的念头和心情。OK,就是这样。如果你感觉到犹豫、恐慌、紧张、担忧...

2018-07-22 17:02:40 635

转载 从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择

从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择背景随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加。在这个背景下,平台的技术架构也完成了从传统的单体应用到微服务化的演进。 系统架构的演进过程单一应用架构(第一代架构)这是平台最开始的情况,当时流量小,为了节约成本,...

2018-07-22 16:58:21 692

转载 Oracle基础操作手册内容分享

 Oracle基础操作手册 查询系统当前时间 显示当前用户 查看表结构或列出函数、存储过程等的信息 Oracle中行称为记录,列称为字段。 注释 查找数据文件的存放位置、大小和状态。 distinct 去重 select用法 schame方案/用户名 AS是为字段起别名的关键字 可以使用各种运算符和函数对字段的值进行计算 <>或!=(不等于) 字符串匹配 使用关键字IN进行查询。其...

2018-07-22 16:33:04 1049

转载 关于安装Oracle——安装流程

 这次安装Oracle出现了很多错误,在此记下以防再次出错,也记录下我整个的安装流程1.下载      我下载安装的是企业版2.安装  解压完安装包运行setuo.exe就可以    首先是安全更新(安全更新我直接点击下一步跳过了)        这一项选择创建和配置数据库        因为只是在单机安装,所以选择了桌面类        本来想使用...

2018-07-22 16:17:37 305

转载 LinkedHashMap 底层分析

 众所周知 HashMap 是一个无序的 Map,因为每次根据 key 的 hashcode 映射到 Entry 数组上,所以遍历出来的顺序并不是写入的顺序。因此 JDK 推出一个基于 HashMap 但具有顺序的 LinkedHashMap 来解决有排序需求的场景。它的底层是继承于 HashMap 实现的,由一个双向链表所构成。LinkedHashMap 的排序方式有两种:根...

2018-07-22 16:04:44 334

转载 那些只有程序员才能看懂的冷笑话

客户被绑,蒙眼,惊问:“想干什么?”对方不语,鞭笞之,客户求饶:“别打,要钱?” 又一鞭,“十万够不?” 又一鞭,“一百万?” 又一鞭。客户崩溃:“你们TMD到底要啥?” “要什么?我帮你做项目,写代码的时候也很想知道你TMD到底想要啥!” 记者问一位大爷说:老大爷,您保持年轻的秘诀是什么?大爷说:白天上班,夜晚加班,节假日值班,一天五包烟,天天吃泡面。记者问:老大...

2018-07-22 16:02:05 917

转载 Spring Boot之省略注入

Spring提供的标注,其基于容器自动寻找和加载特定的对象。其寻找和匹配的范围包括: @Component, @Bean, @Service, @Repository, @Controller等声明的对象。使用方式@Autowired可以用在属性、方法和构造函数上。查看其定义如下:@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, E...

2018-07-22 16:00:54 700

转载 SpringBoot------邮件发送

模板邮件发送我们假设发送给用户一封激活邮件1.添加依赖:1 <!--添加thymeleaf依赖 -->2 <dependency>3 <groupId>org.springframework.boot</groupId>4 <artifactI...

2018-07-22 15:56:42 745

转载 从构建分布式秒杀系统聊聊WebSocket推送通知

前言秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功?场景映射首先,我们举一个生活中比较常见的例子:我们去银行办理业务,一般会选择相关业务打印一个排号纸,然后就可以坐在小板凳上玩着手机,等待被小喇叭报号。当小喇叭喊到你所持有的号码,就可以拿着排号纸去柜台办理自己的业务这里,假设当我们取排号纸的...

2018-07-22 09:47:19 371

转载 Tomcat 架构概述

Tomcat 是一个 Web 应用服务器,它是对 HTTP 和 Servlet 规范的实现,简单来说它做了这几件事:处理 HTTP 协议、执行 Servlet 和处理网络 I/O。这里以 6.0.53 版本为例(实现了 HTTP/1.1、Servlet2.5),研究其基本结构。 关于源码版本,我使用的是 tomcat6,因为 7 为了重构有太多的抽象,看着实在费劲,6 代码虽有冗余但读起来很直...

2018-07-22 09:45:52 294

转载 Java1.8的HashMap源码解析

数据结构首先我们注意到数据是存放在一个Node数组里面transient Node<K,V>[] table;接着我们看一下Node<K,V>的结构 static class Node<K,V> implements Map.Entry<K,V> { final int hash; final...

2018-07-21 19:01:46 276

转载 【Java】关于Spring MVC框架的总结

 SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发。MVCMVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 We...

2018-07-21 18:58:15 303

转载 java中this的软绑定

首先,什么是软绑定? 所谓软绑定,是和硬绑定相对应的一个词,在详细解释软绑定之前,我们先来看看硬绑定。在JavaScript中,this的绑定是动态的,在函数被调用的时候绑定,它指向什么完全取决于函数在哪里调用,情况比较复杂,光是绑定规则就有默认绑定、隐式绑定、显式绑定、new绑定等,而硬绑定是显式绑定中的一种,通常情况下是通过调用函数的 apply() 、 call() 或者ES5里提供...

2018-07-21 09:02:22 284

转载 线程的基本操作

线程的基本操作 •线程状态切换•终止线程(stop)•中断线程(interrupt)•挂起(suspend) 和 继续执行(resume)•等待线程结束(join) 和 谦让(yield)•sleep •线程优先级•守护线程•线程的同步操作(synchronized, wait, notify)线程状态切换终止线程(stop)不推荐使用Thread.st...

2018-07-21 09:01:30 209

转载 Spring框架四大基本原则

一、使用POJO进行轻量级和最小侵入式开发。1. 什么是POJO按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。 POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。 POCO的概念是从java的POJO借用而来,而两者的...

2018-07-20 08:50:59 1036

转载 压缩文件工具类

public class ZipUtils{ public static void doCompress(String srcFile, String zipFile) throws Exception { doCompress(new File(srcFile), new File(zipFile)); }/** * 文件压缩*@param srcFile 目录或者单个文件 * ...

2018-07-20 08:50:02 216

转载 导入Excel文件数据

 /** * 导入Excel文件数据     * @param file 将要导入的Excel文件 * @param fileCheckKeyWord 用于判断导入文件是否正确的关键字符串  * @param keyX 用于判断导入文件是否正确的关键字符串所在的x坐标位置 * @param keyY 用于判断导入文件是否正确的关键字符串所在的y坐标位置 * @param s...

2018-07-19 16:50:02 298

转载 JAVA之假克隆、浅克隆、深克隆

 一.JAVA假克隆Java中,对于基本类型,可以用“=”进行克隆,而对于引用类型却不能简单的使用“=”进行克隆,这与JAVA的内存使用空间有关,JAVA在栈中保存基本类型和引用变量,在堆中保存对象。对于引用变量而言,使用“=”将修改引用,而不是复制堆中的对象,此时两个引用对象将指向同一个对象,因此如果对一个变量修改则会修改另一个对象。public class Employee{ ...

2018-07-19 16:48:53 295

转载 JDK线程池分析和使用

1.为什么使用线程池在多线程编程中一项很重要的功能就是执行任务,而执行任务的方式有很多种,为什么一定需要使用线程池呢?下面我们使用Socket编程处理请求的功能,分别对每种执行任务的方式进行分析。1.1串行执行任务当Socket监听到客户端有连接,通过handleSocket方法顺序的处理每一个客户端连接,当处理完成后,继续监听。代码如下:ServerSocket serverS...

2018-07-19 09:21:25 374

转载 从构建分布式秒杀系统聊聊WebSocket推送通知

前言秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功?场景映射首先,我们举一个生活中比较常见的例子:我们去银行办理业务,一般会选择相关业务打印一个排号纸,然后就可以坐在小板凳上玩着手机,等待被小喇叭报号。当小喇叭喊到你所持有的号码,就可以拿着排号纸去柜台办理自己的业务。这里,假设当我们...

2018-07-19 09:16:26 230

转载 删除文件(移动文件)

/** * 删除文件(移动文件) * * @param filepath * 项目的路径 * @param oldPath * 文件原来的路径 */public static void delete(String filepath, String oldPath) { String[] arr = oldPath.split("/");// 文件的原路径 // 创建新文件的目录(在最后...

2018-07-17 18:39:05 185

转载 Springboot 框架定时任务开发

@Component  //可以在启动类上注解也可以在当前文件@EnableScheduling  public class TestJob {  @Scheduled(cron = "0/10 * * * * ?")public void runfirst(){ System.out.println("********first job is ok******");  }@S...

2018-07-17 13:14:25 161

转载 cookie与session

1,基本概念cookie机制采用的是在客户端保持状态的方案,当你在浏览网站的时候,cookie是一个文本信息,会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再浏览同一个网站,首先会查一下有没有上次留下的资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。cookie机制正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应...

2018-07-17 13:11:53 136

转载 一名3年工作经验的Java程序员应该具备的技能

一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容。我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪水势必也越高。1、基本语法 这包括static、final、transient等关键字的作用,foreach循环的原理等等。今天面试我问你static关键字有哪些作 用,如果你答出static修饰变量、修...

2018-07-17 13:11:06 845 1

转载 springboot添加邮件发送及压缩功能

  首先邮件发送,邮件功能在springboot里面是有对应的依赖组件,这个:1 <dependency>2 <groupId>org.springframework.boot</groupId>3 <artifactId>spring-boot-starter-mail</artifactId>4 </d...

2018-07-15 18:59:16 434

转载 Spring MVC五大核心组件和配置

  一,五大核心组件  1.DispatcherServlet  请求入口  2.HandlerMapping    请求派发,负责请求和控制器建立一一对应的关系  3.Controller       处理器  4.ModelAndView     封装模型信息和视图信息  5.ViewResolver    视图处理器,定位页面二,Spring MVC的编写步骤(访问WEB-INF下的.j...

2018-07-15 14:10:34 1015

转载 SpingBoot —— 多线程

Spring 通过任务执行器(TaskExecutor)来实现多线程和并发编程。使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor。而实际开发中任务一般是非阻碍的,即异步的,所有我们在配置类中通过@EnableAsync开启对异步任务的支持,并通过在实际执行的Bean的方法中使用@Async注解来声明其是一个异步任务。一、配置类package com...

2018-07-15 14:08:15 1084

转载 Java 并发编程——Executor框架和线程池原理

Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务的线程相当于消费者,并用Runnable来表示任务,Executor的实现还提供了对生命周期的支持,以及统计信息收集,应用程序管理机制和性能监视等机制。下面这段代码中将多个任务放到了线程池中执行:...

2018-07-15 14:06:46 211

转载 Java并发编程——阻塞队列BlockingQueue

 简介BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。         阻塞队列是一个队列,而且是一个先进先出的队列(FIFO)。       多线程环境中,通过队列可以很容易实现数据共享,比如经典的“生产者”和“消费者”模型中,通过队列可以很便利地实现两者之间的数据共享。假设我们有若...

2018-07-14 16:31:25 221

转载 Java 并发编程——Callable+Future+FutureTask

项目中经常有些任务需要异步(提交到线程池中)去执行,而主线程往往需要知道异步执行产生的结果,这时我们要怎么做呢?用runnable是无法实现的,我们需要用callable实现。import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurr...

2018-07-14 15:28:35 232

转载 Java 并发基础——线程安全性

  线程安全:多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协调,这个类都能表现出正确的行为,那么久称这个类是线程安全的。在线程安全类中封装了必要的同步机制,因此客户端无需采取进一步的同步措施。原子性要么不执行,要么执行到底。原子性就是当某一个线程修改i的值的时候,从取出i到将新的i的值写给i之间不能有其他线程对i进行任何...

2018-07-14 15:28:22 163

转载 java 并发编程——Thread 源码重新学习

对于程序员来说 Thread应该都不会陌生,这里再深入的去学习一下里面的很多借口Thread的声明如下:class Thread implements RunnableRunnable 接口是个什么鬼?                                                                                                p...

2018-07-14 15:17:47 152

转载 SpringBoot —— AOP注解式拦截与方法规则拦截

AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。  SpringBoot中AOP的使用方式主要有两种:注解式拦截与方法规则拦截,具体使用如下文所示。一、创建一个简单springboot 2.03项目,添加aop依赖<dependency> <group...

2018-07-14 13:01:32 4437

转载 对象的创建与内存分配

 创建对象当 JVM 收到一个 new 指令时,会检查指令中的参数在常量池是否有这个符号的引用,还会检查该类是否已经被加载过了,如果没有的话则要进行一次类加载。接着就是分配内存了,通常有两种方式:指针碰撞空闲列表使用指针碰撞的前提是堆内存是完全工整的,用过的内存和没用的内存各在一边每次分配的时候只需要将指针向空闲内存一方移动一段和内存大小相等区域即可。当堆中已经使用的内存和未使用的内存互相交错时,...

2018-07-14 12:57:53 125

转载 Spring整合MyBaytis

  1、准备jar包A、第一种方式:配置SqlSessionFactoryBean+配置SqlSessionTemplatea、项目结构b、applicationContext.xml  带详细注释 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/...

2018-07-13 19:05:08 236

转载 菜鸟从业记:没准备好的面试,那叫尬聊

   最近我的朋友王小闰参加了一场面试,在他填写简历表的时候,排在他前面的应聘者正在旁边邻桌接受来自面试官的检验。 王小闰边写边想,这不就是一会儿要面试自己的前端leader么,现在面试官提问的一些面试题会不会就是待会儿要问自己的问题? 想到这,我朋友王小闰不自觉地竖起了耳朵听,借鉴下别人回答问题的经验,保不齐自己一会儿要套用一下。 不听不知道,一听吓一跳。没准备好的面试,那叫一个尬聊。 首先...

2018-07-13 13:17:55 1102

转载 Spring的整体架构

Spring的整体架构Spring框架是分层架构的,它包含了一系列的功能要素,并被分为大约20个模块。             Spring整体架构图 模块分类1. Core Container  Core Container (核心容器)包含 Core,Beans,Context,Expression Language四个模块。  Core和Beans是Spring的基础部分,提供Ioc(控...

2018-07-13 13:17:34 429

转载 数据库切库、分库、分表

  切库的基础和实际运用—读写分离:如何方便进行读写分离,目前有两种方式:1.动态数据源切换它是指程序运行时,把数据源动态的织入到程序中,让指定的程序连接主库还是从库2.直接定义查数据源和写数据源直接在项目里定义两个数据库连接,一个是主库连接一个是从库连接,更新数据的时候我们读取主库连接,查询数据的时候读取从库连接 多数据源(切库)和分库的区别:它们都是底层是多个数据库在提供服务。分库是属于在...

2018-07-12 13:07:04 2578

转载 Java Web开发后端常用技术汇总

技术名称及官网 Spring Framework Spring容器 http://projects.spring.io/spring-framework/ Spring MVC框架 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc Apache Shiro 安全框架 http...

2018-07-12 13:06:41 3854

转载 java io 概述

java io 概述什么是IO?IO包括输入流和输出流,输入流指的是将数据以字符或者字节形式读取到内存 分为字符输入流和字符输入流输入流指的是从内存读取到外界 ,分为字符输入流和字节输出流Java IO即Java 输入输出系统。不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、...

2018-07-11 14:06:59 149

空空如也

空空如也

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

TA关注的人

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