- 博客(88)
- 资源 (1)
- 收藏
- 关注
转载 修饰符final和static浅析
一般在进行分析的时候,会从三个方面进行分析:类、方法(构造方法、成员方法)、变量(成员变量(静态变量、实例变量)、局部变量)。一、static修饰符:被static修饰的变量和方法,被类的所有实例所共享。加载类时只分配一次内存。 静态变量:可以直接通过类名来访问 Person.a; 静态方法:可以直接通过类名来访问 Person.say();静态方法内,可以访问静态变量,但...
2019-08-30 16:55:35 327
转载 被遗忘的初始化-C语言
前言什么是初始化?为什么要初始化?静态变量和局部变量的初始化又有什么区别?实际应用中应该怎么做?本文将一一回答这些问题。什么是初始化初始化指的是对数据对象或者变量赋予初始值。例如:int value = 8; //声明整型变量并初始化为8int arr[] = {1,2,3}; //声明整型数组arr,并初始化其值为1,2,3为什么要初始化我们来看一个示例程序。te...
2019-08-30 16:22:23 287
转载 手写一个Map-3
一、实现代码:public class CustomHashMap<K, V> { private class Entry<K, V> { int hash; K key; V value; Entry<K, V> next; Entry(int hash, K key, V value, Entry<K, V> ...
2019-08-30 16:19:20 377
转载 手写一个Map-4
一、代码实现MyMap接口MyHashMap实现类MyHashMapTest测试类1)MyMap接口package com.cxx.map.HashMap;/*** @Author: cxx* 自己实现 map接口* @Date: 2018/6/8 11:18*/public interface MyMap<K,V> { //大小 ...
2019-08-30 16:18:45 393
转载 数据结构——单链表的Java实现
以前我只是单纯用数组,数组它有固定的长度,是有缺点的,不能随意改变它的长度,而链表可以插入和删除大量元素。接下来我来介绍下单链表什么是单链表呢链表的每个结点中只包含一个指针域,叫做单链表(即构成链表的每个结点只有一个指向直接后继结点的指针,且尾节点的指针为null)。结点结构如下:接下来呢,我举一个简单的存储整数的单链表的列子一.存储整数的单链表分为三部分1.结点...
2019-08-30 16:17:55 398
转载 java实现链表(模拟LinkedList)
众所周知,链表是由一个个节点连接在一起,这里我们就先创建一个节点类,为了达到模拟效果,我们选择建一个Node的静态内部类。我们要想模拟LinkedList,就得先了解LinkedList的类包含的方法:add(Object)dd(int,Object)addFirstaddLastget(int index)removegetIndexrem...
2019-08-30 16:16:48 395
转载 java通过双向链表实现ArrayList
主要通过双向链表实现ArrayList首先是封装了链表的节点:public class Node { private Node previous; private Object object; private Node next; public Node(Object object) { this.object = object; ...
2019-08-30 16:16:09 456
原创 为什么Java成员变量声明时可以不用赋值,而局部变量声明时一定需要赋值
1、成员变量(全局变量)是可以不经初始化的,在类加载过程的准备阶段即可给它赋予默认值,但局部变量使用前需要显示赋予初始值,javac不是推断不出不可以这样做,而是没有这么做,对于成员变量而言,其赋值和取值访问的先后顺序具有不确定性,对于成员变量可以在一个方法调用前赋值,也可以在方法调用后进行,这是运行时发生的,编译器确定不了,交给jvm去做比较合适。2、而对于局部变量而言,其赋值和取值访问顺序...
2019-08-30 16:15:17 7325
原创 final 修饰的成员变量必须手动初始化
理解1:final关键字我们并不陌生,但是final修饰的属性变量为什么必须在定义的时候或者构造函数中被初始化呢?static final修饰的变量又为什么必须在定义的时候进行初始化呢?首先要明白一点:final修饰的变量表示赋值之后不能再进行更改,系统赋默认值也算赋值,因此系统也不会赋默认值。如果不在定义的时候或者构造函数中对final变量进行赋值的话,则生成的对象中fina...
2019-08-30 15:37:06 9325 3
转载 java中为final变量赋值的几种方式
java中为final变量赋值的几种方式前言使用final修饰变量,很多人第一时间想到的就是不可变。然后以为变量必须得在声明的时候就为其赋初始值,其实不然,本文将详细讲解java中使用final修改的变量的赋值问题。被final修饰的变量的几种赋值方式1、被final修饰的变量有三种赋值方式。2、被final static修饰的变量有两种赋值方式。储备知识:在类的加载中,...
2019-08-30 15:15:15 5113
转载 手写一个Map-2
package cn.t2;import java.util.LinkedList;public class MyHashMap { private LinkedList[] arr; public MyHashMap(int n) { arr = new LinkedList[n]; } public void put(Obj...
2019-08-29 16:47:32 295
转载 手写一个Map-1
在爱酷学习网上学习Java视频,其中有一个自己实现map的功能,这里记录一下如何实现package com.jbx.hash;/*** 自定义实现Map的功能 不完美的原因是for循环影响效率* @author Administrator*Map:存放键值对,根据键对象找对应的值对象,键不能重复*/public class SxtMap001 { SxtEntr...
2019-08-29 16:42:50 428
转载 spring-boot 自己编写一个spring-boot-starter-redis
在实际项目开发中,我们常常会用到各种各样的starter,为什么我们引入这些starter依赖就能够快速的使用它们提供的功能,其中到底有什么奥秘,它们的实现原理是什么,本节内容就给大家演示一下如何自己编写spring-boot-starter-redis。一、新建一个maven项目spring-boot-starter-redis引入如下依赖:<dependency>...
2019-08-29 16:06:50 956
转载 Spring-Boot autoconfigure之Condition
本文主要介绍spring和springboot提供的几个annotation和interface实现符合几种既定条件或自定义条件下的autoconfigure一、spring实现自定义条件下的autoconfigurespring为我们提供了@Conditional和Condition.class搭配使用的方式实现自定义条件下的autoconfigure,源码如下: ...
2019-08-29 16:03:08 816
转载 Spring-Boot之@Enable*注解的工作原理
@enable*是springboot中用来启用某一个功能特性的一类注解。其中包括我们常用的@SpringBootApplication注解中用于开启自动注入的annotation@EnableAutoConfiguration,开启异步方法的annotation@EnableAsync,开启将配置文件中的属性以bean的方式注入到IOC容器的annotation@EnableConfigura...
2019-08-29 15:59:19 264
转载 Spring-boot @EnableAutoConfiguration源码分析
阅读本文前,请先阅读作者的另一篇文章Spring-Boot之@Enable*注解的工作原理@EnableAutoConfiguration作用:从classpath中搜索所有的META-INF/spring.factories配置文件,然后将其中key为org.springframework.boot.autoconfigure.EnableAutoConfiguration的value...
2019-08-29 15:52:50 272
转载 springboot 是如何利用autoconfiguration整合Redis
springboot整合redis有多种方式,可以自己通过JavaConfig的方式获取RedisTemplate对象,也可以利用spring-boot-autoconfiguration.jar包中已有的RedisAutoConfiguration.class类来获取RedisTemplate对象。本文介绍一个整合redis最简单的方式。spring-boot 自己编写一个spring-...
2019-08-29 15:46:16 925
转载 SpringBoot2.0整合Redis
首先引入POM依赖<!--nosql数据库--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency...
2019-08-29 15:38:53 262
转载 sdk和api有什么区别
---原答案----举个例子:在这里,一个简单的功能链条我将它分为三个组成部分:1、客户端组装数据2、客户端使用组装的数据来请求服务端(或者操作系统)的 api3、服务端(或者操作系统)的 api 处理数据并返回处理结果结合这个链条得出结论:1、api为细粒度的功能接口2、sdk包含第2、3步3、sdk为api的集...
2019-08-29 13:37:28 557
转载 Spring,Spring MVC及Spring Boot区别
点推荐最全的 JVM 面试知识点(一):运行时数据区 最全的 JVM 面试知识点(二):JVM 类加载 Spring源码解析——创建bean Spring源码解析——创建bean的实例 求你了,再问你Java内存模型的时候别再给我讲堆栈方法区了…Spring,Spring MVC及Spring Boot区别01前言对于一个Java开发者来说,Spring可谓如雷贯...
2019-08-29 00:00:34 260
转载 [js]FormData对象的作用及用法
一、作用用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成一个queryString。 异步上传二进制文件。二、使用FormDataPrototype.pnglet form = new FormData();form.append('name','value')//添加 name:valueform.get('name')//...
2019-08-27 17:13:24 772
原创 new FormData() - FormData对象的作用及用法
一、js FormData方法介绍1. 概述FormData类型其实是在XMLHttpRequest 2级定义的,它是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利。2. 构造函数创建一个formData对象实例有几种方式:1、创建一个空对象实例var formData = new FormData();此时可以调用append()方法来添加数...
2019-08-27 16:59:19 89347 8
转载 SpingCloud和Dubbo区别
Dubbo Spring Cloud 服务注册中心 Zookeeper Spring Cloud Netflix Eureka 服务调用方式 RPC REST API 服务监控 Dubbo-monitor Spring Boot Admin 服务容错机制 不完善 Spring Cloud Netflix Hystrix...
2019-08-26 18:54:41 454
转载 springBoot @Enable* 注解的使用
这篇文章主要介绍了springBoot @Enable* 注解的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧1、为什么使用@SpringBootApplication注解,即可做到自动配置?答:@SpringBootApplication,内部起作用的注解其实有3个。@EnableAutoConfiguration,@ComponentScan,@Con...
2019-08-22 19:18:52 1060
转载 Spring EnableAutoConfigurationImportSelector 是如何工作的
功能EnableAutoConfigurationImportSelector 是一个DeferredImportSelector,由 spring boot autoconfigure 从版本1.3开始,提供用来处理EnableAutoConfiguration自动配置。EnableAutoConfigurationImportSelector继承自AutoConfigurationIm...
2019-08-22 19:11:05 544 1
转载 Spring boot中PropertySource注解的使用方法详解
这篇文章主要给大家介绍了关于Spring boot中PropertySource注解的使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。前言本文将重点讲解一下Spring中@PropertySource注解的使用,如何通过PropertySource注解加载指定的配置文件。以及PropertySour...
2019-08-22 18:59:34 813
转载 spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法
这篇文章主要介绍了spring-boot通过@Scheduled配置定时任务,文中还给大家介绍了springboot 定时任务@Scheduled注解的方法,需要的朋友可以参考下串行的定时任务@Componentpublic class ScheduledTimer {private Logger logger = Logger.getLogger(this.getClass())...
2019-08-22 18:44:26 797
转载 浅谈 RPC、RMI、REST 这些很绕的概念
什么是 RPCRPC(Remote Procedure Call) 翻译过来叫远程过程调用,加上 Protocol 之后也有称之为远程过程调用协议,可以由不同的语言实现,根据维基百科的解释 —— RPC 指在分布式环境下,一个计算机程序能调用另一个不同地址空间里的方法(不同地址空间通常指局域网下的另一台计算机),但是编码的形式就像调用一个本地方法一样,程序员不用去关心背后的细节。为什么要有...
2019-08-21 18:54:40 282
转载 Java 使用RMI Java 使用RMI
Java 使用RMIJava使用序列化的方式,可以实现远端的方法调用,在分工合作时非常方便。本文记录使用java标准库实现rmi一、服务端结构.├── pom.xml├── src│ ├── main│ │ └── java│ │ └── hello│ │ ├── HelloImpl.java│ │ ...
2019-08-21 18:45:34 393
转载 JAVA RMI 实例
下面我将介绍一个完整的实例,让初学者能快速体验RMI的功用。分为以下四个步骤:1. 创建远程接口及声明远程方法(HelloInterface.java)2. 实现远程接口及远程方法(继承UnicastRemoteObject)(Hello.java)3. 启动RMI注册服务,并注册远程对象(HelloServer.java)4. 客户端查找远程对象,并调用远程方法(HelloClient)...
2019-08-21 18:42:37 406
转载 分布式架构基础:Java RMI详解
GitHub: https://github.com/jayknoxqu/rmi-exampleRMI简介 Java RMI,即 远程方法调用(Remote Method Invocation),一种用于实现远程过程调用(RPC)(Remote procedure call)的Java API, 能直接传输序列化后的Java对象和分布式垃圾收集。它的实现依赖于Java虚拟机(JVM),因...
2019-08-21 18:25:17 420
转载 12 个超燃的 IntelliJ IDEA 插件!
今天再来介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同。1.插件的安装打开setting文件选择Plugins选项 Ctrl + Alt + S File -> Setting 分别是安装JetBrains插件,第三方插件,本地已下载的插件包。详情见往期关于settings的文章。2.各种插...
2019-08-20 17:12:53 382
转载 IDEA设置syso快捷键输出System.out.println();
用Eclipse时间长了, 就习惯之前的快捷键!当然, IDEA不愧是Java开发的”利器”! 写起代码就是一个字 – “爽”!建议大家可以去尝试一下!当然, 在IDEA中输出System.out.println();有它自带的快捷键sout我们也可以自定义相关的快捷键, 以满足自己的习惯!下面就以设置syso为例, 来输出System.out.println();在ID...
2019-08-19 14:56:00 1474
转载 idea-快捷键设置(代码格式化)
idea默认格式化快捷键是:Ctrl+Alt+L,有时会因其它软件快捷键的冲突导致失灵。设置方法如下:1.File --> Settings... 2. Keymap -> Code 3.Code ->Reformat Code 4. 右击Reformat Code 弹出Add Keyboard Shortcu...
2019-08-19 14:52:37 33931
转载 IntelliJ IDEA的常用设置和快捷键
一、idea常用设置1、报错级别 idea默认不会像eclipse一样需要ctrl+s进行保存,并且在保存时会进行编译(可以在File》Settings》Build,Execution,Deployment》Compilation中的make project automatically进行勾选设置)。但是idea同样能够对错误进行提示,并且我们可以设置错误的级别定义,可以在idea...
2019-08-19 14:49:18 877
转载 BigDecimal的基本用法
在Java中,float声明的变量是单精度浮点数,double声明的变量是双精度浮点数,顾名思义就是double型的实体占用内存空间是float的两倍。float是4个字节而double是8个字节。float和double类型的数据,无法精确表示计算结果,这是由于float和double是不精确的计算。大家可以通过下面代码可以看出来:publicclassTest {publi...
2019-08-17 17:56:27 263
原创 varchar和nvarchar等等的区别
很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥一把人民币就从他手里溜走了,其实我想不管是做人也好,做开发也好,细节的把握直接决定很多东西。当然还有一部分人是根本就没弄清楚他们的区别,也就随便选一个。在这里我想对他们做个简单的分析,当然如果有...
2019-08-17 16:55:26 247
转载 ORACLE数据库字段类型说明
ORACLE数据库字段类型说明类型 含义 存储描述 备注 CHAR 固定长度字符串 最大长度2000bytes VARCHAR2 可变长度的字符串, 最大长度4000bytes 可做索引的最大长度749 NCHAR 根据字符集而定的固定长度字符串 最大长度2000bytes NVARCHAR2 ...
2019-08-16 15:30:00 1033
转载 SpringBoot异步任务@Async
一. 什么是异步调用?异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。二. 如何实现异步调用?多线程,这是很多人第一眼想到的关键词,没错,多线程就是一种实现异步调用的方式。在非spring目项目中我们要实现异步调用的就是使用多线程方式,可以自己实现Runable接口或者集成Threa...
2019-08-16 14:52:08 515
转载 SpringBoot定时任务@EnableScheduling
一、定时任务作用?定时任务相当于闹钟在什么时间做什么事情(执行什么命令/脚本)二、举例说明1、pom.xml中导入必要的依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-...
2019-08-16 14:51:36 498
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人