类的反射_reflex
JAVA反射机制
JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语...[2018/10/19]
Java内存模型干货总结Java内存模型干货总结
并发编程模型 关键问题:线程之间如何通信 线程之间如何同步 共享内存模型(例:java):线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信 同步是显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行 消息传递模型:线程之间没有公共状态,线...[2018/10/19]
JDK源码学习笔记——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上传文件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中,异常机制是非常有用的构成部分,异常信息对于查找错误来说是必不可少至关重要的信息,因此我们希望在发生错误的时候先看到捕捉到底异常信息。然而,通常的异常信息的输出使用e.printStackTrace(),这样异常信息会被输出到控制台中。但有的时候我们需要异常中的部分信息,...[2018/10/19]
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的方法示例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正常
结论:在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实现数据库的读写分离Java实现数据库的读写分离
引言
1、读写分离:可以通过Spring提供的AbstractRoutingDataSource类,重写determineCurrentLookupKey方法,实现动态切换数据源的功能;读写分离可以有效减轻写库的压力,又可以把查询数据的请求分发到不同读库;
2、写数据库:当调用insert、u...[2018/10/18]
Nio学习
Nio学习
文章是自己学习后的一个总结,如果有什么理解不对的地方,欢迎留言
这一章你只需要明白什么是NIO,NIO中有什么,NIO能做什么即可。
更为详细的解释,可以去看JAVA NIO这本书,当然博主也在慢慢学习,也会在别的随笔中写出更为详细的解释!加油啊小伙伴!
什么是Nio?...[2018/10/18]
026.5 网络编程 上传图片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 从头开始<三>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~rabbitmq自己通过UI手动发布队列需要注意的地方
springboot里发布队列消息
为了兼容性和可读性更好,我们一般使用json字符串做为数据载体。
public void decreaseCallMonitor(CallMonitorInfo callMonitorInfo) throws Exception {
try {
...[2018/10/18]
5.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工具类代码
安装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实现多个数据库环境自动切换配置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]
Spring入门学习笔记(4)——JDBC的使用
目录
Spring JDBC框架概览
JdbcTemplate类
配置数据源
数据访问对象(Data Acce Object,DAO)
执行SQL命令
Spring JDBC框架概览
使用传统的JDBC连接数据库,需要编写不必要的代码来处理异常、打开和关闭数据库连接等变得非常麻烦。然而,...[2018/10/18]
文本聊天室(TCP-中)
每天一张图,精神一下午...
好吧,开始我们今天的代码实现,我们接着上一回,上回实现了服务器的代码(在完成工作后,铁定要改..)
这次实现客户端的UI(界面)层,至于逻辑处理留给明天吧
因为我还没学html,所以委屈大家了,不好意思,界面有些丑陋.
我们界面...[2018/10/18]
Why do collection classes appear
package com.itheima_01;
import java.util.ArrayList;
/*
* 为什么会出现集合类:
* 我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的。
* 为了方便对多个对象进行操作...[2018/10/18]
java servlet的执行流程
1、先附上代码如下
Servlet1.java
public cla Servlet1 implements Servlet {
@Override
public void init(ServletConfig config) throws ServletException...[2018/10/18]
也谈Reactor模式
何谓Reactor模式?它是实现高性能IO的一种设计模式。网上资料有很多,有些写的也很好,但大多不知其所以然。这里博主按自己的思路简单介绍下,有不对的地方敬请指正。
BIO
Java1.4(2002年)以前,IO都是Blocking的,也就是常说的BIO,它在等待请求、读、写(返回)三个环节...[2018/10/18]
挑战常规--这样写单例是错的!
说到单例,网上教程和很多人信手拈来:
public cla Single
{
private volatile static Single instance;
private Single()
{
System.out.println("创建单例");
}
public s...[2018/10/18]
scala集合与java集合的转换应用
今天在业务开发中遇到需要Scala集合转为Java集合的场景;
因为业务全部是由Scala开发,但是也避免不了调用Java方法的场景,所以将此记录下来加深记忆;
import scala.collection.JavaConverters._ 需要导入这个包
val javaR...[2018/10/17]
springboot集成邮件服务springboot集成邮件服务
一、前言
Spring Email 抽象的核心是 MailSender 接口,MailSender 的实现能够把 Email 发送给邮件服务器,由邮件服务器实现邮件发送的功能。
Spring 自带了一个 MailSe...[2018/10/17]
springboot伪静态
在日常网站访问中,会把动态地址改造成伪静态地址。
例如: 访问新闻栏目 /col/1/,这是原有地址,如果这样访问,不利于搜索引擎检索收录,同时安全性也不是很好。
改造之后:
/col/1.html。
改造方法:
1.添加urlrewritefilter
<dependenc...[2018/10/17]
持续集成jinkens构建+git提交时构建
安装相关插件
打开具体项目配置
登录gitlab打开具体项目
url格式是:http: +jinkens用户名+:+jinkens用户的token+@+jinkens地址+/jenkin job/构建的项目名/build?token=+jink...[2018/10/17]
git实用操作
git是分布式版本控制系统,无需联网,自身有完整的版本库,有极其强大的分支管理。
初始化文件夹:git init
添加git管理文件:git add
提交 git commit -m "备注"
查看工作区的状态 git status
查看工作区修改内容 git diff
查看历史 g...[2018/10/17]
ApplicationContextInitializer接口
一、简述
ApplicationContextInitializer是Spring框架原有的概念, 这个类的主要目的就是在 ConfigurableApplicationContext类型(或者子类型)的ApplicationContext做refresh之前,允许我们 对Configurable...[2018/10/17]
ZAB协议(Zookeeper atomic Broadcast)
一、简语:
ZAB协议是Paxos算法的经典实现
二、ZAB协议的两种模式:
1.崩溃恢复:
1.每个server都有一张选票(myid,zxid),选票投给自己
2.收集所有server的投票
3.比较投票(逻辑:优先比较zxid,选出zxid最大的,其次比较myid)
4.改变服...[2018/10/17]
【资源分享】ArcFace Demo [Android]
虹软人脸识别引擎Android的Demo演示,可以直接下载使用。
下载地址: https: github.com/asdfqwrasdf/ArcFaceDemo
readme:
工程如何使用?
下载代码: git clone https: git...[2018/10/17]
自动生成中小学数学题目的控制台小程序
前段时间写了一个自动生成中小学数学题目的控制台小程序
下面简要介绍一下我这次的一个开发过程
需求:
1、命令行输入用户名和密码,如果用户名和密码都正确,提示输入小学、初中和高中三个选项中的一个,否则提示“请输入正确的用户名、密码”;
2、命令行输入小学、初中和高中的选项之一...[2018/10/17]
Java GC机制详解
垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。 导读: 1、什么是GC 2、GC常用算法 3、垃圾收集器 4、finalize()方法详解 5、总结--根据GC原理来优化代码 正式阅读之前需要了解相关概念: Java 堆内存分为新生代和老年代...[2018/10/17]
5.6(java学习笔记) queue
一.queue接口
queue的中文意思是队列,是一种以先进先出方式处理数据的集合。
队列还提供额外的插入、提取和检查操作。这些方法都以两种形式存在:一种在操作失败时抛出异常,另一种返回特殊值(根据操作,为空或为假)。
后一种形式的插入操作是专门针对容量受限的队列实现...[2018/10/17]
如何修改tomcat命令黑窗口的名字
一、为什么要修改tomcat黑窗口的名字 同时启动多个tomcat时,不好区分,而给tomcat的命令窗口取名区分是个不错的选择,例如下面这个效果。 二、修改的方法 1.找到tomcat的bin目录下的catalina.ba...[2018/10/17]
Maven集成SSMMaven集成SSM
目录
Maven 集成SSM
添加log4j配置文件
配置web.xml
添加编码过滤器
添加put和delete请求
配置springmvc.xml
配置文件上传
配置druid连接池信息
配置sqlSe ionFactory
Mybatis映射文件
配置事务
Maven 集成SSM
...[2018/10/17]