Java开发笔记(七)强制类型转换的风险
编码过程中,不但能将数字赋值给某个变量,还能将一个变量赋值给另一个变量。比如下面代码把整型变量changjiang赋值给整型变量longRiver:
长江的长度为6397千米
int changjiang = 6397;
System.out.println("changjia...[2018/10/8]
JDK8新特性
cla A{ int n = 10; public void m(){ int a = 1; 在JDK1.8中,默认添加final---->final int a = 1; 所以在15行可以访问 cla B{ pub...[2018/10/8]
Java基础教程(2)--Java开发环境
一.JVM、JRE和JDK的概念
??对于初学者来说,这三个术语出现的频率很高,而且有关这它们的问题在面试题中也会经常出现。因此,理解它们的定义、区别和联系就显得尤为重要。在学习这几个专业术语之前,我们先来了解一下Java代码的编译运行过程。
??机器语言是用二进制代码表示的,能够被计算机直接识...[2018/10/8]
类与对象 - Java学习(二)
弄清楚类与对象的本质与基本特征,是进一步学习面向对象编程语言的基本要求。面向对象程序设计与面向过程程序设计在思维上存在着很大差别,改变一种思维方式并不是一件容易的事情。
一、面向对象程序设计
程序由对象组成,对象包含对用户公开的特定功能部分,和隐藏在其内部的实现部分。从设计层面讲,我们只关心对象...[2018/10/8]
spring aop方法拦截器链
final cla JdkDynamicAopProxy implements AopProxy, InvocationHandler, Serializable {}
]public Object invoke(Object proxy, Method method, Object[] ar...[2018/10/8]
Java基础教程(3)--回顾HelloWorldJava基础教程(3)--回顾HelloWorld
??在上一篇文章中,我们已经编写了第一个Java程序——HelloWorld,并且对它进行了编译和运行。虽然这个例子很短小,但是它具有一个完整的Java程序所应该具有的结构。在这篇文章中,我将会对这个最简单的程序进行详细的解析,以便读者能够更清楚地认识到Java程序的结构。
??现在来回顾一下这...[2018/10/8]
MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射
在上一章中我们学习了《MyBatis学习总结(一)——ORM概要与MyBatis快速起步》,这一章主要是介绍MyBatis核心配置文件、使用接口+XML实现完整数据访问、输入参数映射与输出结果映射等内容。
一、MyBatis配置文件概要
MyBatis核心配置文件在初...[2018/10/8]
安装 Scala
0. 说明
Scala 安装(Windows) & Scala 安装(Linux)
1. Scala 安装(Windows)
1.0 下载 Scala
下载地...[2018/10/8]
Javascript继承3:将优点为我所有----组合式继承
声明父类
function ParentCla (name){
值类型公有属性
this.name = name
引用类型公有属性
this.books = [''Html'']
}
父类型原型公有方法
ParentCla .protot...[2018/10/8]
设计模式分类(转)23种设计模式分3大类
有效内容不超过100字,总共200字,非常建议阅读!!!
设计模式被称之为程序开发、系统设计、代码优化必备之良品,老少咸宜!那究竟什么是设计模式呢?其实设计模式就是在面向对象语言开发过程中,
遇到的种种场景和问题,提出的解决方案和思路,沉淀下来就是设计模式了...[2018/10/8]
设计模式之单例模式
单例模式是指整个应用中只有一个对象实例的设计模式。应用场景是应用中经常要实例化一个对象,如果频繁的new来创建新的对象,则会消耗很多系统资源,单例模式可以解决这个问题。
输出:
true
1
[2018/10/8]
面向切面编程(AOP)
结合设计模式,通过代码理解面向切面编程,有代码的很好理解的,5分钟可以看三遍
通过,结构型设计模式,装饰器模式来实现AOP,代码如下
<summary>
装饰器模式实现静态代理
AOP 在方法前后增加自定义的方法
< ummary&...[2018/10/8]
Java学习笔记之异常处理
本文实例为大家分享了Java异常处理的具体代码,供大家参考,具体内容如下
一.异常的分类
1.由Java虚拟机抛出的异常(Error):程序无法处理的问题,用户不用去进行处理(虚拟机错误丶内存溢出错误丶线程死锁)
2.Exception异常:程序本身可以进行处理的异常
1).非检查...[2018/10/8]
Java下载安装和环境变量配置图文教程
初学JAVA时,新手常常不知如何下载JAVA,也不知如何安装JAVA以及对JAVA配置环境变量。近期学弟学妹常请教我如何下载安装和配置JAVA,于是写下此博文以便更多新手快速入门,由于我本人是玩智能车的,因此JAVA知识水平有限,若有不足之处,请大家批评指正。本文可能写的过于繁琐,完全是为新手作为...[2018/10/8]
IntelliJ IDEA2018激活方法
前言:
IntelliJ IDEA2018请在官网下载:https: www.jetbrains.com/idea/
一、license server激活
输入http: idea.jialeens.com
二、注册码
前往 http: idea.lanyus.com/...[2018/9/30]
Linux之文件目录
一、Linux的目录结构
1、概览
2、树状目录结构
说明:
/root:该目录为系统管理员用户主目录
/bin:即Binary,存放着系统必备执行命令
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(自己的安装不要放...[2018/9/30]
Java基础之面向对象
Java基础之面向对象
一. 什么是面向对象?
面向对象就是指以属性/特征和行为的观点来分析现实世界中事物的方式。
二.什么是面向对象编程?
面向对象编程就是指先使用面向对象的观点进行分析后再使用面向对象的编程语言进行翻译的过程。
三.面向对象三大特征(重点)...[2018/9/30]
Java多线程学习笔记之一线程基础
1、进程与线程 1.1 进程:是正在运行中的程序的实例,一个运行中idea就是一个进程。进程有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的...[2018/9/30]
MyBatis学习总结(三)——多表关联查询与动态SQL
一、多表关联查询
1.1、一对一关系
1.1.1、执行环境
假定一个员工(emp)拥有一个登录用户(user),员工与用户表之间是一对一关系:
用户表:
员工表:
SQL:
SET FOREIGN_KEY_CHECKS=0;
-- -----...[2018/9/30]
Activemq安装指导
1.1 安装
目前使用的版本是activemq-5.14.0,可以官网下载对应的版本
步骤1:服务器需要事先安装好jdk(这里不介绍安装jdk的方法)
步骤2:将安装包进行解压apache-activemq-5.14.0.zip
unzip apache-activemq-5.14.0.zi...[2018/9/30]
Linux之vi/vim编辑器
1、概述
所有的Unix like系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 vim 编辑器。
vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的正确性,方便程序设计。vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转...[2018/9/30]
springboot之配置文件
springboot在加载配置文件的时候是有先后顺序的,了解加载配置文件的先后顺序,可以减少编写程序出现错误
1 springboot加载配置文件的先后顺序如下:
SpringApplication将从以下位置加载application.properties文件,并把它们添加到Spring&n...[2018/9/30]
搭建SpringMVC框架学习搭建SpringMVC框架学习
教程看的是这个,但也不是只看了这个:https: www.jianshu.com/p/0ccaa4af05fc/
想做一个小东西,决定用SpringMVC这个框架。
一切从简,搜教程,照着搭了一下。
说是三分钟,但是其实试了一个晚上差不多,总结一下:
1.S...[2018/9/30]
java实现简单的solr查询
SolrQuery类是实现solr查询的类。
@Test
public void testSelect() {
String url = "http: localhost:8081 olr olrcore";
SolrClient client ...[2018/9/30]
Java程序语言的后门-反射机制
在文章JAVA设计模式-动态代理(Proxy)示例及说明和JAVA设计模式-动态代理(Proxy)源码分析都提到了反射这个概念。
通过反射机制,通知力宏做事情
method.invoke(object, args);
通过反射,将h作为参数,实例化代理类,返回代理类实例。...[2018/9/30]
java SPI机制
1、 SPI是Service Provider Interfaces的简称。根据Java的SPI规范,我们可以定义一个服务接口,具体的实现由对应的实现者去提供,即Service Provider(服务提供者)。然后在使用的时候只要根据SPI的规范去获取对应的服务提供者的服务实现即可
S...[2018/9/30]
【原】无脑操作:Gitblit服务器搭建及IDEA整合Git使用
背景:虽然有GitHub、GitLab这样强大的Git仓库,但是涉及私有Git库要收费,所以自己动手搭建免费的用用
环境:windows 7 旗舰版、JDK 1.8、IDEA 2017
----------------------------------------------------...[2018/9/30]
SpringMVC拦截器与异常处理(六)
点击查看上一章
在我们SpringMVC中也可以使用拦截器对用户的请求进行拦截,用户可以自定义拦截器来实现特定的功能。自定义拦截器必须要实现HandlerInterceptor接口
package com.spring.mvc.interceptor;
impo...[2018/9/30]
如何制作中文Javadoc包,并导入到Eclipse
原理:使用chm转换工具将chm文件转换为zip文件,导入eclipse中即可。
准备
JDK1.9 API 中文 谷歌翻译版:http: www.pc6.com oftview/SoftView_551833.html ...[2018/9/30]
spring cloud配置高可用eureka时遇到的一些坑spring cloud配置高可用eureka时遇到的一些坑
考虑到注册中心的高可用,今天搭建一下eureka集群,并在中途遇到一些小的坑,前前后后花了两个小时来排除,在这里记录一下,以供后面查看。
首先,贴上要达到的效果:
一、起两个eureka模拟集群,在DS Replicas中显示集群中的其他成员。
二、在注册服务列表中正确显示我...[2018/9/30]
Zabbix 通过 jmx 监控 tomcat
1. 安装 jdk 和 zabbix-java-gateway
# 安装 openjdk 或者下载 tar.gz
apt install openjdk-8-jdk
# 安装 zabbix-java-gateway
apt install zabbix-java-gateway
2. 修改服务...[2018/9/30]
java字符串知识点总结:java核心技术卷I--3.6字符串java字符串知识点总结:java核心技术卷I--3.6字符串
一、字符串
java中字符串提供了一个类String,其中有许多的方法。java字符串其实是UniCode字符序列。ps:关于字符集相关的知识点不太懂,需要总结。
1.1字串
String类种的substring方法可以从一个较大的字符串中提取出一个字串。
如
String greeti...[2018/9/30]
HashMap与Hashtable
HashMap与Hashtable数据结构几乎是相同的(数组+链表),核心方法的实现也大致相同
主要讨论不同,比较两者不同从JDK源码入手
一、父类不同
HashMap父类AbstractMap
Hashtable父类Dictionary
Dictionary类源码已注释被弃用
...[2018/9/30]
BigDecimal运算(加、减、乘、除)
public cla BigDecimalOperation {
private BigDecimalOperation(){
}
public static BigDecimal add(double v1,double v2){
BigDec...[2018/9/30]
使用java实现四则运算的生成 (罗彬 梁汉烽)
本项目Github地址:https: github.com/Rollsom/MyApp
项目简介:
实现一个自动生成小学四则运算题目的命令行程序。
项目相关要求:
使用 -n 参数控制生成题目的个数
使用 -r 参数控制题目中数值...[2018/9/30]
探究HashMap线性不安全(一)——重温HashMap的put操作
内容
? 网上很多资料都详细地讲解了HashMap底层的实现,但是讲到HashMap的并发操作不是线性安全时,往往一笔带过:在多个线程并发扩容时,会在执行transfer()方法转移键值对时,造成链表成环,导致程序在执行get操作时形成死循环。
? 对于没有研究过该过程的童鞋,很难费解这句...[2018/9/30]
探究HashMap线性不安全(二)——链表成环的详细过程
内容
? 网上很多资料都详细地讲解了HashMap底层的实现,但是讲到HashMap的并发操作不是线性安全时,往往一笔带过:在多个线程并发扩容时,会在执行transfer()方法转移键值对时,造成链表成环,导致程序在执行get操作时形成死循环。
? 对于没有研究过该过程的童鞋,很难费解这句...[2018/9/30]
window下布置nginx服务集群
n1、下载windows版本的nginx安装包----nginx官网,我使用的是稳定版的1.8.1
2、下载好的安装包,找一个路径进行解压(注意:不要使用中文路径);解压之后nginx就安装好了,嘻嘻window下安装特别简单,比linux简单多了
3、然后就需要配置tomcat服务器了,...[2018/9/30]
ArrayList与LinkedList区别
两者都是List接口的实现类,都是线性数据结构。
ArrayList底层采用数组实现,访问特别快,它可以根据索引下标快速找到元素。但添加插入删除等写操作效率低,因为涉及到内存数据复制转移,添加时超过默认容量限制,也会扩容转移数据;LinkedList是采用双向链表结构,每个节点都会有前驱指向上一...[2018/9/30]
JPA封装baseDao
1 /**
2 *
3 */
4 package pw.lizi.base;
5
6 import java.io.Serializable;
7 import java.lang.reflect.ParameterizedType;
8 import j...[2018/9/30]
搭建springboot项目
1.搭建环境windows10+jdk1.8+eclipse4.8+maven 2.为了学习微服务架构学习搭建基础项目 3.分为两种搭建方式为maven项目和单独建立springboot项目(eclipse需要安装相关的插件) 第一种使用maven搭建 1)创建maven项目 file...[2018/9/28]
关于函数式接口关于函数式接口
函数式接口在Java中是指:有且仅有一个抽象方法的接口 ;
函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可 以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。
基本格式...[2018/9/28]
Spring学习手札(一)Spring学习手札(一)
Spring能做什么
1. 能根据配置文件创建及组装对象之间的依赖关系;
2. 面向切面编程,能帮助我们无耦合的实现日志记录,性能统计,安全控制等;
3. 提供第三方数据访问框架(如Hibernate),而且自己也提供了一套JDBC访问模板方便访问数据库;
4. ...[2018/9/28]
[三]基础数据类型之Integer详解
Integer 基本数据类型int 的包装类
Integer 类型的对象包含一个 int 类型的字段
属性简介
值为 2^31-1 的常量,它表示 int 类型能够表示的最大值
...[2018/9/28]
从构建分布式秒杀系统聊聊验证码
前言
为了拦截大部分请求,秒杀案例前端引入了验证码。淘宝上很多人吐槽,等输入完秒杀活动结束了,对,结束了...... 当然了,验证码的真正作用是,有效拦截刷单操作,让羊毛党空手而归。
验证码
那么到底什么是验证码呢?验证码作为一种人机识别手段,其终极目的,就是区分正常人和机器的操作。我们常见...[2018/9/28]
spring-boot-2.0.3不一样系列之源码篇 - run方法(四)之prepareContext,绝对有值得你看的地方
前言
此系列是针对springboot的启动,旨在于和大家一起来看看springboot启动的过程中到底做了一些什么事。如果大家对springboot的源码有所研究,可以挑些自己感兴趣或者对自己有帮助的看;但是如果大家没有研究过springboot的源码,不知道springboot在启动过程中...[2018/9/28]
【死磕 Spring】----- IOC 之解析 bean 标签:开启解析进程
原文出自:http: cmsblogs.com
import 标签解析完毕了,再看 Spring 中最复杂也是最重要的标签 bean 标签的解析过程。
在方法 parseDefaultElement() 中,如果遇到标签 为 bean 则调用 proce BeanDefinition() ...[2018/9/28]
了解java虚拟机—CMS回收器(8)
CMS(Concurrent Mark Sweep)回收器 它使用的是标记清除算法,同时又是一个使用多线程并行回收的垃圾回收器。 CMS主要工作步骤 CMS工作时主要步骤有初始标记、并发标记、预清理、重新标记、并发清除和并发重置。其中初始标记和重新标记是独占系统资源的,而预清理、并发标...[2018/9/28]
【Java】Class文件编译的版本号与JDK版本号的对应关系
查看方式
使用文本编辑器EmEditor以16进制方式打开.cla 文件
图中红框中的代表版本号52.0
次版本号:00 00 (小数点后面的部分)
主版...[2018/9/28]