自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

克己的博客

有志则不甘为下流,有识则知学问无尽,有恒则无不成之事!

  • 博客(31)
  • 收藏
  • 关注

原创 Java转大数据之路--Hadoop学习笔记之Hadoop分布式集群搭建

文章目录1. 基础环境准备1.1 三台Linux服务器:CentOS71.2 JDK1.81.3 修改hosts1.4 关闭防火墙1.5 设置ssh免密码登录2.Hadoop集群安装2.1 Hadoop安装包下载2.2 集群规划2.3 解压2.4 修改配置文件修改hadoop-env.sh修改yarn-env.sh修改core-site.xml修改hdfs-site.xml(fixme)修改yar...

2019-01-06 20:42:06 1356 1

原创 Java转大数据之路--Hadoop学习笔记之Hadoop简介

文章目录1.Hadoop是什么?官方介绍百度百科介绍2.Hadoop的发展历程3.Hadoop核心组件4.Hadoop的安装4.1 Hadoop版本选择1.Hadoop是什么?官方介绍The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing....

2019-01-06 16:15:38 713

转载 CentOS7安装JDK1.8

关于VMware安装centos7,可以参考我的VMware14安装CentOS7,以及网络连接设置原文地址:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html1.卸载OPENJDKLinux上一般会安装Open JDK,关于OpenJDK和JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369...

2019-01-06 15:55:55 968 1

原创 VMware14安装CentOS7,以及网络连接设置

1.Hadoop版本选择截止2019年01月05日,Hadoop已经发展到第三代,版本号为3.1.1。三代对二代做了兼容并且支持java8。Hadoop的管本管理非常混乱,新手很容易苦恼到底该选择哪个版本。下面列出几个传送门供大家参考。一代和二代的比较二代和三代的比较一代、二代、三代比较本博客,使用最新的Hadoop 3.1.1版本。2.虚拟机准备VMware 版本:14.1.3...

2019-01-06 15:07:47 2815 4

原创 基于Java8的时间工具类(持续更新)

import java.time.Instant;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.ZoneId;import java.time.ZonedDateTime;import java.time.format.DateT...

2018-12-28 20:20:52 6256 2

原创 Java并发编程:1.线程的创建和运行

文章目录1. CPU、进程、线程的关系2. 线程的创建与启动2.1 线程的创建2.2 启动线程start()和run()的区别。1. CPU、进程、线程的关系在很久很久以前,计算机还没有操作系统,它们只能运行一个程序,这个程序直接访问机器的所有资源。操作系统出现后,一台计算机可以运行多个程序了,它们在各自的进程(processes)中运行。每一个进程都是一个独立的运行单位,也是系统进行资源分...

2018-12-27 11:15:59 160

原创 Java 类的加载时机和过程

文章目录1.什么是类加载?2.类什么时候会被加载?3.类加载过程4.什么是类初始化?5.类什么时候被初始化?6.类初始化过程1.什么是类加载?运行在Java虚拟机之上的语言,比如Java、Scala、Groovy、JRuby等,会被各自的编辑器编译为Class文件,这些Class文件需要被加载进Java虚拟机才能运行。类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载、...

2018-12-24 15:38:01 4267 2

原创 Java Gc

Java gc如要考虑三件事情。哪些内存需要回收?什么时候回收?如何回收?确认回收对象想要进行Java GC,首先要做的便是确定哪些对象是可以回收的。引用计数法判断对象是否存活,最基本的算法便是引用计数法。对对象添加一个引用计数器,每当一个地方引用它时,计数器值+1;当引用失效时,计数器-1。但是主流的Java虚拟机都没有采用这种算法,最大的原因是其没办法解决循环引用的问题。可...

2018-12-17 09:44:15 166

原创 Java 虚拟机

JVM内存模型根据《Java虚拟机规范(Java SE 7 版)》的规定,Java虚拟机所管理的内存包括几下几个运行时数据数据:程序计数器程序计数器是一块较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器,每个线程都有一个程序计数器。如果线程执行的是Java方法,程序计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的Native方法,这个计数器的值则为空。Java虚...

2018-12-17 09:40:59 121

原创 ==,equalse,hashCode的区别和联系

== 和equals== 比较的是对象在内存的地址。equals()定义在Object中。public boolean equals(Object obj) {  return (this == obj);}这意味着所有对象都有equals()方法,并且默认情况下equals()方法和==一样比较的是对象在内存的地址值。一般引用数据类型之间的比较,需要重写equals,让其比较对象...

2018-12-17 09:36:42 909 1

原创 ArrayList 源码解析

ArrayList是Java最常用的几种数据结构之一, 同时也是面试热点。了解其内部实现原理是非常必要的。创建ArrayListArrayList<Object> list1 = new ArrayList<>();ArrayList<Object> list2 = new ArrayList<>(16);ArrayList&

2018-12-17 09:35:50 132

原创 @Value注解总是null问题记录

问题描述在使用@value注解之后,字段总是为空。后来发现是因为字段使用了static修饰。@Componentpublic class TestValue { @Value("${appEnv}") private static String appenv; //null public String test() { return appenv;...

2018-12-17 09:34:43 4456

原创 BigDecimal使用案例

创建BigDecimal对象创建BigDecimal对象常用的方式有2种:BigDecimal a = BigDecimal.new Bigdecimal(1);BigDecimal a1 = BigDecimal.valueOf(1);不推荐使用new 关键字创建Bigdecimal对象。原因是当new 的值是一个小数的时候,其真实的值并不是我们想要的值BigDecimal b = ...

2018-12-17 09:33:49 13528 1

原创 Java8新特性 使用Optional避免NPE

前言相信每一个Java程序员都碰到过NPE异常,每个避免NPE,往往会在代码中写很多if判断,形成代码污染。为了解决这个问题,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到Google Guava的启发,Optional类已经成为Java 8类库的一部分。Optional类介绍Optional类存...

2018-12-17 09:33:02 1634

原创 DataGrip 2018 lisence server

http://www.heatsam.com:1017

2018-04-26 09:35:30 10687

原创 设计模式之策略模式

定义案例背景方案一:继承方案二:使用接口方案三:使用策略模式策略模式的优缺点优点缺点使用场景注意事项定义《Head First》中对策略模式定义如下:策略模式定义了算法族,分别封装起来,让他们之间可以互相替换。此模式让算法的变化独立于使用算法的客户。ok,相信对于初学者而言,看到这个定义肯定一脸懵逼,没关系,往下看,我会用实际例子让你明白什么...

2018-03-17 12:10:44 243

原创 idea报错:BeanFactory not initialized or already closed - call 'refresh' before accessing beans via ...

今天,将自己的项目从github上考下来时,报错:BeanFactory not initialized or already closed - call ‘refresh’ before accessing beans via the ApplicationContext。在网上找了许多答案,没有一个解决问题,最后发现问题的原因是我的resource目录下的配制文件全部没有编译过来:正常情况下cl

2017-08-05 17:52:00 33425

原创 Java基础之引用数据类型(类)

1 引用数据类型分类提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类、Random类。 我们可以把类的类型为两种:第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使用。第二种,我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用。这里我们主要介绍第二种情况的简...

2017-07-29 13:29:07 614

原创 Java基础之方法

1 方法概述在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。如:小明同学在路边准备坐车来学校学习。这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可采用坐公交车或坐出租车的方式来学校,那么,这种解决某件事情的办法,我们就称为方法。在java中,方法就是用来完成解决某件事情或实现某个功能的办法。方法实现的过程中,会包含很多条语句用于完成某些有意义的功能...

2017-07-29 13:23:55 329

原创 Java基础之数组

在生活中,我们可能会碰到如下的场景。 现在需要统计某公司员工的工资情况,例如计算平均工资、最高工资等。假设该公司有50名员工,用前面所学的知识完成,那么程序首先需要声明50个变量来分别记住每位员工的工资,这样做会显得很麻烦。 其实在Java中,我们可以使用一个数组来记住这50名员工的工资。数组是指一组数据的集合,数组中的每个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元...

2017-07-29 13:05:53 344

原创 Java中基本数据类型和引用数据类型的存放位置

基本数据类型是放在栈中还是放在堆中,这取决于基本类型声明的位置。一:在方法中声明的变量,即使变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有效的原因。 在方法中声明的变量可以是基本类型的变量,也可以是引用类型的变量。 ...

2017-07-29 11:10:01 8914 2

原创 Effective Java(4)--通过私有化构造器强化不可实例化的能力

有时候,你可能需要编写只包含静态方法和静态域的类.比如:java.lang.Math类或java.util.Arrays.通常这些工具类不需要被实例化.有人会想,那我不提供构造器不就可以了吗?其实是不行的,我们知道在没有提供构造器的时候,编译器会自动提供一个公有的,无参的默认构造器.你可能会想通过将类做成抽象类来强制该类不可被实例化,这是行不通的.因为该类可以被子类化,并且子类可以被实例化.这样可能

2017-03-31 16:19:19 429

原创 Effective Java(3) --用私有构造器或者枚举类型强化Singleton属性

这一节,主要讲得是单例设计模式.关于单例设计模式的详细介绍,可以移步runoob: http://www.runoob.com/design-pattern/singleton-pattern.htmlSingleton指仅仅被实例化一次的类.在Java1.5之前,实现Singleton有两种方法(饿汉式,懒汉式),这两种方法都将构造器保持为私有,并导出共有的静态成员.有一点需要注意的是,不管事饿

2017-03-29 20:16:50 452

原创 Effective Java(2)--遇到多个构造器参数时要考虑用构建器

静态工厂和构造器有个共同的局限性:它们都不能很好地扩展到大量的可选参数.对于这样的类,应该用那种构造器或者静态方法来写?第一种方式:采用重叠构造器模式,在这种模式下,你提供第一个只有必要参数的构造器,第二个构造器有一个可选参数,第三个有两个可选参数,以此类推,最后一个构造器包含所有可选参数.这种模式可行,但是当参数非常多的时候,客户端的代码会很难编写,并且难以阅读.有时候,类型相同的参数还会造成这样

2017-03-28 18:47:56 488

原创 安装Eclipse插件卡在calculating requirements and dependencies

今天在安装activiti插件的时候,一直卡在calculating requirements and dependencies这一步. 在将”Contact all update sites during install to find required software”前面的勾去掉之后问题解决了.

2017-03-28 18:40:40 820 1

原创 异常收集--ids for this class must be manually assigned before calling save()

异常如下: 异常分析:Role这个实体,在数据库中的主键是自增的,而在Role.hbm.xml中,由于这个文件是由Hibernate反转引擎生成,默认主键生成策略是assigned.这种方式是手动设置主键,需要调用setId()方法,并且必须要在save()方法执行之前调用.在ssh中,框架会自动帮你封装.问题就出在,我并没有从页面传来id这个属性,所以出现了这个错误..后来将assign

2017-03-27 13:29:55 493

原创 《Effective Java》--01.考虑用静态工厂方法代替构造器

考虑用静态工厂方法代替构造器对于一个类,想要获得它自身的一个实例,最常用的方法就是提供一个公有的构造器。还有一种方法,也应该在每个程序员的工具箱中占有一席之地。那就是静态工厂方法,那么首先需要了解的就是什么是静态工厂方法?《Java面向对象编程》对静态工厂方法的详解创建类的实例的最常见的方式是用new语句调用类的构造方法。在这种情况下,程序可以创建类的任意多个实例,每执行一条new语句,都会导致Ja

2017-03-27 11:07:51 381

原创 《Effective Java》 --引言

《Effective Java》是Java四大名著(Java编程语言、Java编程思想、Java核心技术、Effective Java)之一,也是程序员必读的书籍(Effective Java、Java编程细想、重构——改善既有代码)之一。《Effective Java》的作者:(美国)Joshua Bloch。Joshua Bloch,是Google公司的首席Java架构师。是Jolt大...

2017-03-27 09:09:24 347

转载 使用BigDecimal进行精确运算

原文链接 首先我们先来看如下代码示例:1 public class Test_1 {2 public static void main(String[] args) {3 System.out.println(0.06+0.01);4 System.out.println(1.0-0.42);5 System.out.println

2017-03-26 12:31:59 375

原创 简单的MD5加密工具

package cn.nieyi.bos.util;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Utils {/*** 使用md5的算法进行加密*/public stat...

2017-03-16 22:25:25 257

原创 生成简单验证码的JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><% int width = 80; int height = 32; //create the image BufferedImage image = new Buffere

2017-03-16 22:07:53 808

空空如也

空空如也

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

TA关注的人

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