认识Java
1.Java语言特性:
简单、面向对象、安全、跨平台、多线程、健壮、分布式等
2.Java的三大平台:
Java SE(Java Platform Standard Edition):Java标准平台
Java EE(Java Platform Enterprise Editio...[2018/10/20]
团队开发工具git常用命令团队开发工具git常用命令
Git 常用命令
Git配置
git config --global user.name "storm"
git config --global user.email "stormzhang.dev@gmail.com"
git config --globa...[2018/10/20]
springboot~如何去掌握它(新手可以看看)
springboot~如何去掌握它
主讲:仓储大叔
每讲40分钟
架构图
graph LR
App-->A
Web-->A
A(zuul proxy)-->B(eureka server)
A-->C(config server)
C-->B
User-->C
Product-->C
A--...[2018/10/20]
SpringBoot的基础
概念
Spring的优缺点
1. 优点(AOP和IOC简化开发)
Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种...[2018/10/20]
获取最佳线程池线程大小
Runtime.getRuntime().availableProce ors()
[2018/10/20]
Servlet 监听器Listner
定义:
专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。
Servlet 规范为每种事件监听器都定义了相应的接口,它用于监听 web 应用程序中的 ...[2018/10/20]
从Java虚拟机角度分析类的实例化顺序
1.首先展示一下实例代码(Son.java & Father.java)
public cla Father {
public static int a=10; 父类的静态变量
static{ 父类的静态代码块
a=20;
}
...[2018/10/20]
java1.8学习-什么样的匿名内部类能被lambda语法代替?java1.8学习-什么样的匿名内部类能被lambda语法代替?
java1.8学习-什么样的匿名内部类能被lambda语法代替?
java1.8好多新的特性真的很有意思,特别是Lambda。在学习的时候发现并不是所有的匿名内部类都可以用Lambda代替。
lambda表达式用得最多的场合就是替代匿名内部类,而实现Runnable接口是匿名内部类的经典例子...[2018/10/20]
springboot配置kafka生产者和消费者详解
在原有pom.xml依赖下新添加一下kafka依赖ar包
<!--kafka-->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>sprin...[2018/10/20]
Ribbon 框架简介及搭建(没有与SpringCloud整合,独立使用)
Ribbon简介
1. 负载均衡框架,支持可插拔式的负载均衡规则
2. 支持多种协议,如HTTP、UDP等
3. 提供负载均衡客户端
Ribbon子模块
1. ribbon-core(ribbon的核心,主要包含负载均衡器、负载均衡接口、客户...[2018/10/19]
常用排序算法及Java实现
概述 在计算器科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定排序方式进行排列的一种算法。本文将总结几类常用的排序算法,包括冒泡排序、选择排序、插入排序、快速排序和归并排序。算法原理及实现1、冒泡排序 原理图 理解 通过重复地遍历要排序的列表,比较每...[2018/10/19]
使用淘宝镜像cnpm安装Vue.js的图文教程(转载)使用淘宝镜像cnpm安装Vue.js的图文教程(转载)
前言
Vue.js是前端一个比较火的MVVM框架,要使用它,我们必须提前配置,其中有一种安装方式是使用npm,比较适合比较大型的应用。今天就来看看这种方式如何操作,由于npm是国外的,使用起来比较慢,我们这里使用淘宝的cnpm镜像来安装vue.
步骤
首先我们需要下载npm,官网地址是htt...[2018/10/19]
JVM知识(一):基础原理
学过java知识和技术人,都应该听说过jvm,jvm一直是java知识里面晋级阶段的重要部分,如果想要在java技术领域更深入一步,jvm是必须需要明白的知识点。
本篇来讲解jvm的基础原理,先来熟悉一下大致的流程:
JVM运行流程:
我们都知道java一直宣传的口号:一次编译,到处运行...[2018/10/19]
文件上传设置上传文件大小文件上传设置上传文件大小
控制台报错
org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (47924276) exceed...[2018/10/19]
springboot~zuul实现网关springboot~zuul实现网关
网关在微服务里的角色
在微服务架构体系里,网关是非常重要的一个环节,它主要实现了一些功能的统一处理,包括了:
统一授权
统一异常处理
路由导向
跨域处理
限流
实践一下
1 添加依赖
dependencies {
implementation('org.springfram...[2018/10/19]
Redis的安装和Jedis的使用
Redis的安装和学习资料
Redis的安装可以参考 https: www.cnblogs.com/dddyyy/p/9763098.html
Redis的学习可以参考https: www.cnblogs.com/dddyyy/p/9803828.html
1.Jedi...[2018/10/19]
springboot excel上传并且存入oracle数据库
上一篇写了springboot 下载excel 模板,目前有个需求是把 下载的excle 填上数据 上传,并且保存的数据库,这边只针对后台操作
@Transactional 事务标识 @RequestMapping(value = "/upload") @Res...[2018/10/19]
Ribbon 负载均衡机制(自定义负载均衡规则)
Ribbon 负载均衡机制
在上一章的 "Ribbon 框架简介及搭建(没有与SpringCloud整合,独立使用)" 中介绍了Ribbon框架及搭建使用,那么在这一章会讲一讲Ribbon的负载均衡的机制,以下的规则 笔者将会以通俗易懂的介绍给大家讲解。
Ribbo...[2018/10/19]
类的反射_reflex
JAVA反射机制
JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语...[2018/10/19]
Java内存模型干货总结
并发编程模型 关键问题:线程之间如何通信 线程之间如何同步 共享内存模型(例:java):线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信 同步是显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行 消息传递模型:线程之间没有公共状态,线...[2018/10/19]
JDK源码学习笔记——StringJDK源码学习笔记——String
1、学习jdk源码,从以下几个方面入手:
类定义(继承,实现接口等)
全局变量
方法
内部类
2、hashCode
private int hash; public int hashCode() {
int h = hash;
...[2018/10/19]
maven管理工具
Maven解决的问题:
1. 使用maven前搭建项目需要引入各种jar包,并且还可能有jar包冲突的问题
解决jar包冲突的方式:
1. 第一声明优先原则
2. 路径近者优先原则. 直接依赖路径比传递依赖路径近.
直接依赖: 项目中...[2018/10/19]
SpringMVC使用MultipartFile上传文件
1. MultipartFile基本介绍
MultipartFile是springmvc官方提供的一个比较完善的文件上传组件,MultipartFile是一个组织接口它的实现类有
org.springframework.web.multipart.commons.CommonsMultipar...[2018/10/19]
Java中返回值的详解
package com.company;
java中main()函数中调用其他方法的两种方式 1.实例化对象
public cla returnDemo {
public static void main(String[] args){
...[2018/10/19]
5.8 Properties5.8 Properties
一、Propertie
主要用于读写资源配置文件。
Properties继承自Hashtable。
我们来看下HashMap和Hashtable的区别:
Hashtabl 线程安全, 同步, 效率较低。
Ha...[2018/10/19]
2018-10-19 00:13:35 ArrayList
获取集合元素的长度用的是size方法。
传入Object类型的值,返回boolean值的remove方法,含义是判断是否删除成功。
传入索引值的remove方法,返回的是被删除的元素。
修改值得set方法,第一个参数是索引值,第二个参数是修改后的值最后返回的是被修改的值。
package c...[2018/10/19]
linux常用操作命令
常用指令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a  ...[2018/10/19]
设计模式-简单工厂模式
转载请注明出处:https: www.cnblogs.com/wenjunwei/p/9802128.html
定义
简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实...[2018/10/19]
Java将Exception信息转为String字符串的方法Java将Exception信息转为String字符串的方法
一、前言
在java中,异常机制是非常有用的构成部分,异常信息对于查找错误来说是必不可少至关重要的信息,因此我们希望在发生错误的时候先看到捕捉到底异常信息。然而,通常的异常信息的输出使用e.printStackTrace(),这样异常信息会被输出到控制台中。但有的时候我们需要异常中的部分信息,...[2018/10/19]
idea启动项目报端口号冲突或被占用的解决方法idea启动项目报端口号冲突或被占用的解决方法
错误异常如下: java.rmi.server.ExportException: Port already in use: 1099; nested exception is: java.net.BindException: Addre already in use: JVM_Bind 解决...[2018/10/19]
Intellij IDEA配置Jetty的方法示例
一、在pom.xml中配置jetty插件:
<build>
<plugins>
<plugin>
<groupId>or...[2018/10/19]
Java实现短信发送验证码功能
1:新建maven工程
2:开通腾讯云的短信服务功能,添加应用。
3:配置短信签名、短信正文模板,并审核通过(为了方便我就用微信公众号)
4:添加发送短信引用的腾讯云jar包
<dependency>
<groupId>com...[2018/10/19]
IntelliJ IDEA使用tomcat和jetty配置详解
上一讲用idea创建了maven web项目,接下来我们把项目发布到tomcat和jetty运行,以便进一步地开发和调试 配置tomcat 第一、打开菜单栏 第二、点击设置按钮,添加应用服务器,选择tomcat server 选择tomcat目录 添加后如下所示 到此我们已经把tomcat...[2018/10/19]
JAVA 从头开始(二)
一、JAVA_HOME 1.环境变量如果经常变更,就要经常操作到Path,可能会一不小心把什么东西给删了 2.最好新建一个环境变量 &n...[2018/10/18]
liunx poi excel下载内容乱码本地tomcat正常liunx poi excel下载内容乱码本地tomcat正常
结论:在jsp中加上out.clear即可(前提保证生成的excel在服务器上是正确的,只是浏览器传输才出现乱码)。
dowload.jsp完整代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&...[2018/10/18]
Kafka消息系统 - sun-sailing
未完待续
1.前言
包路径和源码
适用场景
数据量
发送消息手段:单播和广播
认证协议:kerberos
2.时序图
3.关键配置项
4.KafkaProducer
读取kafka配置文件
实例化producer
builder消息发送[2018/10/18]
Java实现数据库的读写分离
引言
1、读写分离:可以通过Spring提供的AbstractRoutingDataSource类,重写determineCurrentLookupKey方法,实现动态切换数据源的功能;读写分离可以有效减轻写库的压力,又可以把查询数据的请求分发到不同读库;
2、写数据库:当调用insert、u...[2018/10/18]
Nio学习Nio学习
Nio学习
文章是自己学习后的一个总结,如果有什么理解不对的地方,欢迎留言
这一章你只需要明白什么是NIO,NIO中有什么,NIO能做什么即可。
更为详细的解释,可以去看JAVA NIO这本书,当然博主也在慢慢学习,也会在别的随笔中写出更为详细的解释!加油啊小伙伴!
什么是Nio?...[2018/10/18]
026.5 网络编程 上传图片
####################################### 客户端
###UploadPicClient.java
public cla UploadPicClient {
/**
* @param args
* @throws IOExcep...[2018/10/18]
使用Spring Boot+MyBatis框架做查询操作
一.在你建立的工程下创建 Module 选择Spring initializr创建。 二.在Type处选择: Maven Project(项目的构建工具) 三.创建依赖时勾上web,mybatis,mysql(这个看你个人需要吧,可以自主选择) 建立好的项目结构如下...[2018/10/18]
JAVA 从头开始<三>
一、数据类型转换
取反:1变0,0变1
强转
Insteger.toBinaryString(-7);
下面这样写会出错,要用l来接收
为什么byte b 可以接收int类型(而不是10b),大数据类型往小数据类型转不是要强转吗?
判断1...[2018/10/18]
实现多线程的两种传统方式
第一种:创建一个类继承Thread类,重写Thread类的run方法,代码如下:
cla Thread1 extends Thread {
@Override
public void run() {
while (true) {
try...[2018/10/18]
springboot~rabbitmq自己通过UI手动发布队列需要注意的地方
springboot里发布队列消息
为了兼容性和可读性更好,我们一般使用json字符串做为数据载体。
public void decreaseCallMonitor(CallMonitorInfo callMonitorInfo) throws Exception {
try {
...[2018/10/18]
5.7(java学习笔记)Vector、Enumeration5.7(java学习笔记)Vector、Enumeration
一.Vector
Vector类实现一个可扩展的数组对象。与数组一样,它包含可以使用整数索引访问。
它的基本操作方法add(int index, E element),get(int index),indexOf(Object o)等操作方...[2018/10/18]
java 同步
本文主要记录java进行同步的方案及锁优化的方法,来自《深入理解jvm》
定义
线程安全:多线程访问一个对象时,不用考虑这些线程在运行时环境下的调度与交替执行,也不需要额外的同步或调用方进行任何协调操作,调用这个对象的行为都可以获得正确的结果。
同步方法
互斥
...[2018/10/18]
Jedis工具类代码Jedis工具类代码
安装Redis可以参考 https: www.cnblogs.com/dddyyy/p/9763098.html
Redis的学习可以参考https: www.cnblogs.com/dddyyy/p/9803828.html 谢谢啦!
1.基本使用
因为Jedis工具...[2018/10/18]
OOA/OOD&UML部分
UML是什么?有哪些常用的图?
UML是标准的建模语言;常用图包括:用例图、静态图(包括类图、对象图和包图),行为图、交互图(顺序图、合作图),实现图。
简述一下Singleton模式。
Singleton模式主要作用是保证在Java应用程序,一个类Cla 只有一个实例存在。举个例子...[2018/10/18]
SpringBoot(三)通过properties实现多个数据库环境自动切换配置
前面的文章已经介绍了CentOS部署SpringBoot项目从0到1的详细过程,包括Linux安装ftp、Tomcat以及Java jdk的全部过程。这篇文章主要介绍关于springboot如何通过多个properties实现数据库环境部署时自动切换配置的两种方式,部署时切换方式和打包时M...[2018/10/18]
Mybatis分页插件PageHelper使用
MyBatis分页插件
Author:SimpleWu
在mybatis中我们需要实现分页功能,如果我们连接的是mysql我们就要写mysql的分页sql,连接oracle就要写oracle的sql语句,这是很不友好的,而我们针对各种不同的数据库的分页我们有一个插件PageHelper
Pa...[2018/10/18]