2.Spring Cloud初相识--------Eureka服务注册与消费
前言:
1.Eureka介绍:
Spring Cloud Eureka,使用Netflix Eureka来实现服务注册与发现,它既包含了服务端组件,也包含了客户端组件,并且服务端与客户端均采用Java编写,所以Eureka主要适用于通过Java实现的分布式系统,或是与JVM兼容语言构建的系统。
2...[2018/10/25]
027.3 反射技术 简单应用
###NoteBookMain.java
package cn.itcast.reflect.test;
import java.io.File;
import java.io.FileReader;
import java.util.Properties;
public cla Note...[2018/10/25]
JAVA 从头开始<五>
一、反编译
java代码 javac编译后的cla 文件,想要看得懂,需要使用反编译工具
使用bin目录下的java开发工具(javap.exe)
二、构造函数
三、构造代码块
1.类中可能有多个构造函数,有参的,无参的。
构造...[2018/10/25]
spring-AOP(面向切面编程)-注解方式配置
项目结构:
增强(切面)类:
package edu.nf.ch12.service.aspect;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang....[2018/10/25]
POI导入具有合并了单元格的Excel
POI进行单行单行地导入的数据在网上有许多的文章,但是要导入一个具有合并单元格的excel貌似比较难找。刚好最近完成了这样的一个需求,要求导入具有合并单元格的excel:
1 /**
2 * 读取excel数据,调用这方法开始
3 * @param is
4 ...[2018/10/25]
JAVA 8 lambda 表达式实现按某个属性值查找集合中符合条件的所有对象并求和
JAVA 8 lambda 表达式实现按某个属性值查找集合中符合条件的所有对象并求和
1,先按照条件找到所有符合的对象,生成集合。
2,把生成的集合进行单列求和。
以上两步骤用lambda 表达式可以合并。
定义对象:
public cla Cart {
...[2018/10/25]
SpringBoot使用redis缓存List<Object>
一、概述
最近在做性能优化,之前有一个业务是这样实现的:
1.温度报警后第三方通讯管理机直接把报警信息保存到数据库
2.我们在数据库中添加触发器,(BEFORE INSERT)根据这条报警信息处理业务逻辑,在数据库中插入“其他业务数据”
3.前端setTimeout每隔5秒a...[2018/10/25]
6.1(java学习笔记)File类
1.路径分隔符,文件分隔符。
路径分隔符(“;”)
文件名称分隔符(“\”windows,“/”Linux等)。
不同平台使用的文件分隔符是不一样的,所以File类中提供了分隔符常量,它会根据平台的不同自行选择对应...[2018/10/25]
Jvav Collection-List
1 package 集合;
2
3 import java.util.ArrayList;
4 import java.util.Collection;
5
6 /**
7 * 集合和数组的区别:
8 * 1、长度
9 * 数组长度固定
10 ...[2018/10/25]
Lucene的简单用法
1.创建索引
package com.DingYu.Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOExc...[2018/10/25]
spring-framework-reference(5.1.1.RELEASE)中文版——Core部分
前言
最近在学习Spring框架,在学习的同时,借助有道翻译,整理翻译了部分文档,由于尚在学习当中,所以该篇文章将会定时更新,目标在一个月左右时间翻译完全部版本。
虽然大部分内容为翻译,但是其中可能会添加一些我对Spring的理解,最近也在计划建立一个wiki版本,希望同样在学习的你,可以参与进...[2018/10/25]
SSM 小demo的盲点总结
日期Date和String之间的转换:
1. 全局转换器(推荐使用)
1. 创建类实现Converter接口,实现Convert方法
public cla StringToDateConvert implements Converter<String, Date&g...[2018/10/25]
Azure上部署的java app在向第三方服务传送中文时出现乱码
部署在Azure 上的Web APP应用在向第三方传送中文字符串时,第三方服务接受到的是类似于??之类的乱码,而本地运行发送是正常的
这个是由于APP Service 环境的默认编码为GBK,在向第三方发送数据时要做默认的转码工作,即执行new String(”您要传送的字符串&r...[2018/10/25]
Java ArrayList add(int index, E element)和set(int index, E element)两个方法的说明
一般使用List集合,估计都是使用这个ArrayList,一般呢也就是简单遍历数据和存储数据。
很少使用到add(int index, E element)和set(int index, E element)两个方法。
这两个方法,乍一看,就是在指定的位置插入一条数据。
区别:
...[2018/10/24]
Java Clone深拷贝与浅拷贝的两种实现方法Java Clone深拷贝与浅拷贝的两种实现方法
1.首先,你要知道怎么实现克隆:实现Cloneable接口,在bean里面重写clone()方法,权限为public。
2.其次,你要大概知道什么是地址传递,什么是值传递。
3.最后,你要知道你为什么使用这个clone方法。
先看第一条,简单的克隆代码的实现。这个也就是我们在没了解清楚...[2018/10/24]
Java拷贝数组方法Arrays.copyOf()是地址传递的证明实例
在看别人的关于CopyOnWriteArrayList 这个类的时候,看到有人提出了关于:数组拷贝的方法Arrays.copyOf() 的问题,如下:
只是复制了引用地址,数组内的对象还是和旧数组一样的?
看了他的问题,我也是有点迷惑了,以前都没想过这个。既然如此,我就有如下的测试,以解心中...[2018/10/24]
[十三]基础数据类型之AbstractStringBuilder
String内部是一个private final char value[];
也就意味着每次调用的各种处理方法,返回的字符串都是一个新的,性能上,显然....
所以,对于可变字符序列的需求是很明确的
类的层次结构设计,有的时候是自顶而下...[2018/10/23]
First-blog:解决mybatis 用mysql进行模糊搜索时,查不了中文问题First-blog:解决mybatis 用mysql进行模糊搜索时,查不了中文问题
如图:点击小字 按搜索时,出现乱码搜索不了
解决办法:出现乱码问题,一般无非两种
1.是数据库问题
2.是服务器问题
我在MySQL命令行搜索时,中文可以实现,说明时服务器问题
通过修改 tomcat...[2018/10/23]
设计模式之外观or门面模式 - sun-sailing
未完待续,10.28之前完成
1.概念
定义一个高层的统一的外观接口类,该接口用于客户端调用,和一个实现类用来包装子系统中多个类,客户端可以通过客户端完成对子系统的方法调用。
2.适用场景
2.1 代码移植,降低了现有系统的复杂度和系统中的编译依赖性。
2.2 多步骤的操作,...[2018/10/23]
java之递归学习
递归思想(2018-10-22):
递归就是方法里调用自身
在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口
递归算法代码显得很简洁,但递归算法解题的运行效率较低。所以不提倡用递归设计程序。
在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储。递归次...[2018/10/23]
java基础之while语句的练习
计算1-100,7的倍数的数的总和
代码如下:
public cla Demo1 { public static void main(String[] args) { int num=1; int sum=0; while(num<=10...[2018/10/23]
第一个Feign程序(本章内容Feign没有做集成,只是单独使用)
第一个Feign程序
1. Feign被集成到SpringCloud Netflix模块,当Eureka,Ribbon集成的时候呢,Feign就具备了负载均衡的功能。Feign本身使用就很简便,再加上与SpringCloud的整合,将很大程度上降低我们开发的工作量。
2. 它...[2018/10/23]
递归随笔
很久没写博客了,感觉虽然写了很久代码,但是能分享出来的还是很少,很多代码刚写出来很开心,但是又觉着单独写一篇博客有点小题大做。
最近写代码给自己的感受就是规范和美感,以前写代码的时候从来没人告诉我要写的美一点,或者自己对代码如何美都没有概念,第一份工作的组...[2018/10/23]
Spring Boot项目提示Invalid bound statement (not found)
相信这个问题,网上有很多类似的问题,不外乎是mapper.xml的文件没有映射到namespace的接口,或者接口名没有和SQL的id相同等等。
但今天遇到了一个特别的坑,费了很长时间,这里特地说一下。
在排除了所有的问题后,最后无意中发现了是spring boot的启动配置文件问题,我是用的...[2018/10/23]
正则表达式之密码验证
对于门户网站,用户注册或修改密码时,需要有正则表达式验证密码,根据安全级别不同,网站会设置不同基本的密码正则表达式。
而此文主要通过一个实例,来讲解密码正则表达式中使用的特殊正则语法,如?! 、?= 等(Java代码验证)。
密码强度要求
至少包含一个数字,一个字母,一个特殊字符
密码长度...[2018/10/23]
阅读笔记:基础知识(Java篇)阅读笔记:基础知识(Java篇)
1. GC机制(垃圾回收机制)
找到垃圾的方法:引用计数法、可达性分析法
回收垃圾的方法:标记清除算法、复制算法、标记整理法、分代算法
2. JVM内存划分
线程私有:程序计数器、JVM虚拟机栈、本地方法栈
线程公有:堆、方法区、运行时常量池
3. 会发生OOM的区域
堆:内存泄漏
...[2018/10/23]
Java高级面试题及答案
List和Set比较,各自的子类比较
对比一:Arraylist与LinkedList的比较
1、ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。
2、因为地址连续, ArrayList要移动数据,所以插入...[2018/10/23]
简单测试Java线程安全中阻塞同步与非阻塞同步性能
摘抄自周志明老师的《深入理解Java虚拟机:JVM高级特性与最佳实践》13.2.2 线程安全的实现方法
1.名词解释
同步是指锁哥线程并发访问共享数据时,保证共享数据同一时刻只被一个线程访问
互斥同步(阻塞同步)是一种悲观的并发策略,总是认为只要不去做正确的同步措施(加锁),那就肯定会出现问...[2018/10/23]
5.10(java学习笔记)容器的同步控制与只读设置
1、容器的同步控制
像我们平常使用的容器有些是不同步的即线程不安全,例如HashMap等,在多线程时可能出现并发问题。
而有些容器又是同步的,例如Hashtable。
有些时候我们需要将这些不同步的容器包装成同步的,就需要使用到Collections中提供的一些方法。
static...[2018/10/23]
Memcached 分布式内存对象缓存系统在Java Web项目收藏栏中的使用
最近写了一个购物商城的网站,考虑到收藏商品的数量庞大,如果将数据保存到数据库会对数据库造成压力,所有在对商品进行收藏处理的时候使用了Memcached分布式系统,将收藏的商品保存到了内存中。
Memcached 分布式内存对象缓存系统Memcached 工具类的代码如下:
im...[2018/10/23]
JAVA 注解
一、注解是什么?
官方概念:java支持在源文件中嵌入补充信息,这类信息被称为注解,也被称为元数据。个人理解:注解,就是标记。
二、注解有什么用?
1.用过spring的人我想天天都在用@Controller、@Autowrite、@Service 等等注解,这些注解的作用实际上只是标记而...[2018/10/23]
java的多态性
什么是多态
多态是java中面向对象的四个基本特性之一,是面向对象程序设计中代码重用的一个重要机制,它表示了同一个操作作用在不同对象时,会有不同的语义,进而产生不同的结果。
多态的表现方式
编译时多态:方法的重载,重载指的是同一个类中有多个同名方法,当方法的参数不同时,编译时就可...[2018/10/23]
Nginx学习之如何搭建文件防盗链服务
前言
大家都知道现在很多站点下载资料都是要收费的,无论是积分还是金币,想免费只能说很少很少了,那么这些网站是如何做到资源防盗链的呢?
这里推荐一款比较容易上手的神器,Nginx本身提供了secure_link来完成防盗链功能,可以给服务器文件链接添加时间戳和校验码,从而保护服务器文件不被任意...[2018/10/23]
Java面试2018常考题目汇总
一、JAVA基础篇-概念 1.简述你所知道的Linux: Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是主流的服务器操作系统, 广泛应用于互联网、云计算、智能手机(Android)等领域。由于Java主要用于服务器端的开发,因此Java应用的部署环境有很多为Li...[2018/10/22]
查找算法之——符号表(引入篇)
符号表的主要目的是用来存储键值对,也就是将一个键和一个值关联起来,它的主要操作为插入和查找。 这篇只是为下一篇文章作为抛砖引玉,为不熟悉符号表的朋友做了一个大体的介绍,在文章的结尾列出了符号表的基本操作,有一定了解的朋友可以跳的下一篇文章(二叉查找树)。 首先我们必须讨论几个基本问题,这在之后的...[2018/10/22]
JAVA 反射机制
一、什么是反射? 能够分析类能力的程序 称之为反射 二、反射能做什么? 反射机制的功能极其强大,打个比方,假如你有反射功能,那么你不管看到谁,都可以看透对方的一切,并且还可以调用对方的肢体做一些你想做的事情。 三、怎么反射?1. 利用Cla 对象来反射 每当编译一个类,便会生...[2018/10/21]
RuntimeRuntime
1.定义:代表java程序的运行环境
2. 每个java程序都有一个与之对应的Runtime实例,应用程序通过该对象与其运行时环境相连
3.应该程序不能创建自己的Runtime实例,但可以通过getRuntime方法获取与之相关联的Runtime对象
&n...[2018/10/21]
推荐一个spring cloud 学习路线,绝对合理化
最近没有时间所有没用给大家更新spring cloud 系列学习,在这先给大家奉献上我学习spring cloud 的路线spring cloud eureka server 注册中心spring cloud eureka client 客户端spring cloud feig...[2018/10/21]
农民工自学java到找到工作的前前后后
我是一名地地道道的农民工,生活在经济落后的农村,有一个哥哥和一个弟弟,父母都是地道的农民,日出而作,日落而息,我从小到大学习一直很好,从小学到高一都,成绩在全级一直名列前茅,这样我也顺利了考上省的重点高中,然而,每个学期开学是家里最为难的时候,每次交学费都让父母发愁许久,家里为了给我筹钱读书,都借...[2018/10/21]
SpringBoot(四)MyBatis generator 注解方式和xml方式
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordina...[2018/10/21]
MyBatis事务管理源码阅读
在实际的开发工作中,MyBatis已经成为了当下最流行的关系型数据库与实体Model的映射框架。
今天就简单学习一下MyBatis的事务处理部分源码。
Mybatis事务处理位于 org.apache.ibatis.transaction 下。类图如下:
入口类:
Transact...[2018/10/21]
SpringBoot 之Actuator.
一、Actuator 介绍
Actuator 是 SpringBoot 项目中一个非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api 请求来监管、审计、收集应用的运行情况。
Actuator 的核心是端点 E...[2018/10/21]
Java 环境变量的配置
第一种配置方法
1.安装完成后,右击"我的电脑",点击"属性",选择"高级系统设置"
2.选择"高级"选项卡,点击"环境变量";
然后出现下面的:
在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),...[2018/10/21]
Just write about
创建一个学生对象,存储学生对象,学生对象的数据来源于键盘录入,最后遍历集合。
学生类,集合对象,键盘录入数据并将数据赋值给学生类的成员(可以写成一个方法),调用方法,遍历集合。
[2018/10/21]
ReentrantReadWriteLock简介ReentrantReadWriteLock简介
对象的方法中一旦加入synchronized修饰,则任何时刻只能有一个线程访问synchronized修饰的方法。假设有个数据对象拥有写方法与读方法,多线程环境中要想保证数据的安全,需对该对象的读写方法都要加入 synchronized同步块。这样任何线程在写入时,其它线程无法读取与改变...[2018/10/21]
Java Cookie工具类Java Cookie工具类
1.Cookie跨域
Cookie不能跨顶级域名访问,但是二级域名可以共享Cookie,所以要实现跨域,有一定的局限性。
2.代码
package com.DingYu.Cookie;
import java.io.UnsupportedEncodingException;
im...[2018/10/21]
javaweb之jsp指令
1.JSP指令简介
JSP指令是为JSP引擎设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
在JSP 2.0规范中共定义了三个指令:page指令,Include指令,taglib指令。
JSP指令的基本语法格式:<%@ 指令 属性名="值" %&g...[2018/10/21]
Java基础教程(10)--类
一.声明类
??你已经见过了以如下方式定义的类:
cla MyCla {
field, constructor, and method declarations
}
??上面是声明类的最基本的语法。可以在声明类时提供更多的信息,例如它继承的父类,或实现的接口等,例如:
cla ...[2018/10/21]
Java开发笔记(十二)布尔变量论道与或非
在编程语言的设计之初,它们除了可以进行数学计算,还常常用于逻辑推理和条件判断。为了实现逻辑判断的功能,Java引入了一种布尔类型boolean,用来表示“真”和“假”。该类型的变量只允许两个取值,即true和false,其中true对应真值,而false对应假值。 如同数值变量拥有加减乘除四则运算...[2018/10/21]
struts2 在 Action 或 Interceptor 中获取 web.xml 中配置的 <context-param> 参数 (这是我的第一篇博文,哈哈。)
最近为了改一个问题,想加一个控制开关,就在web.xml 中配置了一个 <context-param> 参数,并在 Action 或 Interceptor 中获取参数值。
1、在 web.xml 中添加配置项:
<context-param>
...[2018/10/21]