自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

林元煌

勿以善小而不为、勿以知识小而不分享

原创 Spring Boot(八)——Shiro+FreeMarker

Shiro简介   Apache Shiro是一个功能强大、灵活的,开源的安全框架。它可以干净利落地处理身份验证、授权、企业会话管理和加密。 Shiro能做什么呢 用户访问权限控制,比如:判断用户是否分配了一定的安全角色,判断用户是否被授予完成某个操作的权限; 在非 web 或 EJB...

2018-03-29 18:07:49 7583 2

原创 Spring Boot(七)——部署

打包成jar的方式:windows环境:1、到项目的根目录下(pom.xml同级)2、通过mvn命令打包,需要配置好mvn的环境变量,或者直接是用mvn的绝对路径命令。也可通过开发工具打包,不同的开发工具打包方式不同,这里就不一一介绍了。mvn clean package ## 去除测试代码的打包...

2017-12-20 17:35:52 5648 0

原创 Spring Boot(六)——Spring Date Jpa

Spring Date Jpa介绍什么是JPA?JPA是Java Persistence API的简称,中文名Java持久层API,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Sun引入新的JPAORM规范出于两个原因:其一,简化现有JavaEE和J...

2017-12-14 14:42:31 7524 2

原创 Spring Boot(五)——RabbitMQ

RabbitMq的介绍 RabbitMq的基本原理可以自行上网查阅,或者点击传送门:RabbitMQ的基本原理。 使用配置 1、老规矩,先在pom.xml中添加相关依赖: <!--消息队列模块--> <dependency> ...

2017-12-12 11:04:50 24139 14

原创 Spring Boot(四)——Mongodb

Mongodb介绍MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式...

2017-12-11 11:48:06 4631 3

原创 Spring Boot(三)——Redis

Redis介绍REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供...

2017-11-22 15:57:35 10273 0

原创 Spring Boot(二)——MyBatis

  MyBatis介绍 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Pl...

2017-10-18 10:59:49 4780 1

原创 Spring Boot(一)——入门环境搭建

Spring Boot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(ra...

2017-10-17 15:23:44 13327 2

原创 Java开发过程中要注意的事项

增加了Redis缓存,以避免频繁调用一些不变的数据。或者,在MyBitas的xml里,select语句where条件有isnull,即这个值有就增加一个where条件,对此,会对任何一个where增加一个不带isnull的查询条件,以免该语句当传入参数都是null时,做全表扫描。或者,干脆说,后端...

2019-11-28 14:14:16 83 0

原创 大数据 - 统计分析平台架构介绍

目的主要功能是对某个互联网产品多个系统产生的日志进行收集,对各系统的日志格式进行统一,存储到平台特定目录下面。在Azkaban任务调度系统中配置job,对平台上的数据进行ETL操作和分析,将最终产生的结果数据存储到Mysql,redis或elastics中,分别用作报表展示,或者App特定功能的数...

2019-07-12 17:22:35 1298 0

原创 大数据 - Spark常用算子

从大方向来说,Spark 算子大致可以分为以下三类: 1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。 Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action ...

2019-05-15 15:51:36 487 0

原创 大数据 - Hive介绍和安装使用

hive下载地址 http://mirror.bit.edu.cn/apache/hive/ 这里选择apache-hive-2.3.4-bin.tar.gz 通过远程工具上传到指定目录,这里上传的/app/目录下 解压到当前文件夹 [root@hadoop1 app]# tar -vz...

2019-03-22 15:51:21 1216 0

原创 大数据 - Spark Streaming介绍和实战

Spark Streaming        Spark Streaming 是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括Kafk、Flume、Twitt...

2019-03-22 15:46:17 1184 0

原创 大数据 - Spark开发环境(IDEA)

Spark运行模式,IDEA开发环境,远程调试spark standalone集群

2019-03-19 17:42:46 1353 0

原创 大数据 - Spark介绍和环境搭建

Spark简单介绍、本地运行模式 (单机)和spark standalone集群搭建

2019-03-11 15:33:34 1599 0

原创 大数据 - Java实现提交作业到Hadoop集群

环境 IntelliJ IDEA JDK1.8 hadoop-2.8.5.tar.gz 下载 从官网上下载解压JDK,Hadoop。解压到自己喜欢的目录下。 配置windows环境变量 Java环境变量就不写了,都应该知道 变量名:HADOOP_HOME 路径:E...

2019-03-05 15:20:50 1590 0

原创 大数据 - Hadoop安装

Hadoop完全分布式集群安装

2019-02-28 17:33:55 1004 0

原创 大数据 - Hadoop - YARN

Hadoop - YARN 旧的MapReduce架构 JobTracker: 负责资源管理,跟踪资源消耗和可用性,作业生命周期管理(调度作业任务,跟踪进度,为任务提供容错) TaskTracker: 加载或关闭任务,定时报告认为状态 此架构会有以下问题: JobTracker是MapR...

2019-02-25 19:17:05 90 0

原创 大数据 - Hadoop - HDFS

Hadoop是一个专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。

2019-02-21 15:56:24 1180 0

原创 大数据-入门介绍

大数据定位 大数据背景 大数据的4V特征 Hadoop能做什么: Hadoop核心组件 HDFS(分布式文件系统)

2019-02-18 18:24:15 1155 0

原创 Java面试题-数据结构

八大基本数据结构以及衍生相关数据结构

2018-12-28 16:48:48 2683 0

原创 Java并发编程(六)-Phaser

phaser 英文意思移相器,相位器,表示“阶段器”,用来解决控制多个线程分阶段共同完成任务的情景问题,其作用相比CountDownLatch和CyclicBarrier更加灵活。如100个人参加高考需要考四场考试,早上考语文,需要等100人都考完语文才能进行下午的数学,下午的数学都考完才能考明...

2018-11-20 14:46:21 7832 0

原创 Java并发编程(五)-Lock

Lock是java 1.5中引入的线程同步工具,它主要用于多线程下共享资源的控制。本质上Lock仅仅是一个接口(位于源码包中的java\util\concurrent\locks中)。

2018-11-07 15:04:21 6286 0

原创 Java并发编程(四)-Semaphore信号量

Semaphore Semaphore翻译成字面意思为 信号量,Semaphore可以控同时访问的线程个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。 Semaphore类位于java.util.concurrent包下,它提供了2个构造器:...

2018-11-06 14:39:56 6493 0

原创 Java并发编程(三)-CountDownLatch和CyclicBarrier

CountDownLatch CountDownLatch类利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLatch类只提供了一个构造器: //参数coun...

2018-11-05 11:24:35 6818 0

原创 Python——入门准备

机器语言 计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 优点是最底层,执行速度最快 缺点是最复杂,开发效率最低 汇编语言 简写的英文标识符取代二进制去编写程序,本质仍然是直接操作硬件; 优点是比较底层,执行速度最快 缺点是复杂,开发效率最低 ...

2018-11-01 11:17:37 329 0

原创 Java并发编程(二)-线程池和AQS介绍

如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的效果。今...

2018-11-01 11:08:53 3431 0

原创 Java面试题-Struts、Servlet(持续更新)

什么是Struts2 ?   Struts2 是一款优秀MVC框架   MVC:是一种思想,是一种模式,将软件分为 Model模型、View视图、Controller控制器 。MVC由来是web开发 JavaEE软件三层结构 : web层(表现层)、业务逻辑层、数据持久层 (sun提供...

2018-10-31 14:02:02 8115 0

原创 Java面试题-Spring Boot和Spring Cloud(持续更新)

Spring Boot相关项目 Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了。 Spring Boot:旨在简化创建产品级的 Spring 应用和服务,简化了配...

2018-10-19 11:55:05 9259 1

原创 Java面试题-集合(持续更新)

  从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 A...

2018-10-19 11:51:30 6671 0

原创 Java面试题-Redis和Memcache(持续更新)

什么是redis? redis 是一个基于内存的高性能key-value数据库。 redis淘汰策略 Redis提供了下面几种淘汰策略供用户选择,其中默认的策略为noeviction策略: noeviction:当内存使用达到阈值的时候,所有引起申请内存的命令会报错。 allkeys-...

2018-05-15 16:51:39 9002 0

原创 Java面试题-MyBatis(持续更新)

MyBatis框架及原理分析   MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:   1、封装JDBC操作   2、利用反射打通Java类与SQL语句之间的相互转换   MyBatis的主要设计目的就是让我们对执行SQL语句时...

2018-04-18 17:04:44 9804 1

原创 Java面试题-网络、流、IO(持续更新)

HTTP1.0 HTTP 1.1主要区别  长连接   HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。  节约带宽   HTTP 1.1支持只发送header信息(不带任何body信息),如果...

2018-04-18 14:27:58 2098 0

原创 Java面试题-互联网中间件(持续更新)

什么是ibernate?   Hibernate是一种强大高效的持久层查询框架。它对JDBC进行了轻量级封装,以面向事物的思维解决了数据库操纵问题。同时,是一种非强迫性的解决方案,能与一些数据库和Java服务器平稳的集成。 Hibernate中的三种状态   瞬时状态:刚创建的对象还没有...

2018-04-18 14:27:27 1767 0

原创 Java面试题-Spring(持续更新)

什么是Spring? Spring的核心是一个轻量级(Lightweight)的容器(Container)。 Spring是实现IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架。 Spring提供AOP(Aspect-oriented...

2018-04-18 14:25:47 2028 0

原创 Java面试题-Java线程和并发(持续更新)

进程和线程的区别   进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位   线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如...

2018-04-18 14:20:30 11403 1

原创 Java面试题-JVM和JDK(持续更新)

在 jdk1.5 中,引入了泛型,泛型的存在是用来解决什么问题。   泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率 你知道哪些或者你们线上使?什么GC策略? 它有...

2018-04-18 14:19:25 2248 0

原创 Java面试题-Java基础(持续更新)

Java中实现多态的机制是什么   靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。 方法的重写Overridi...

2018-04-18 14:13:42 7802 0

原创 JVM学习笔记——JDK、JRE、JVM的关系

摘要   JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。   Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及...

2018-03-19 12:11:35 1676 0

原创 JVM学习笔记——JVM启动流程和基本结构

JVM启动流程 JVM基本结构 详细介绍内存空间作用 Java堆(Heap)   对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象...

2018-03-19 11:40:40 3710 0

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