Java基础知识集合
晓太白
日常写写,记录下
展开
-
Java中饿汉式、懒汉式的事例代码
/* * * 饿汉式 * * */class Single{ private static final Single s=new Single(); private Single(){} public static Single getInstance() { return s; }}//懒汉式class Single{原创 2017-10-20 15:02:35 · 2594 阅读 · 0 评论 -
Jsonp介绍
一、跨域我们都知道 ajax请求是无权跨域访问的,即只有域名相同、端口相同时,才可以访问。二、什么是Jsonp?Jsonp其实就是一个跨域解决方案。Js跨域请求数据是不可以的,但是js跨域请求js脚本是可以的。可以把数据封装成一个js语句,做一个方法的调用。跨域请求js脚本可以得到此脚本。得到js脚本之后会立即执行。可以把数据做为参数传递到方法中。就可以获得数据。从而解决跨域问题。三、Jsonp的原原创 2017-11-01 19:01:23 · 2436 阅读 · 0 评论 -
重载和重写的区别
一、区别方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返原创 2017-12-21 18:17:51 · 2396 阅读 · 0 评论 -
抽象类与接口区别
一、抽象类:抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。二、接口:接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化;2、包含未实现的方法声原创 2017-10-20 15:35:10 · 2392 阅读 · 0 评论 -
Java中的final关键字详解
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。 本篇引自https://www.cnblogs.com/xiaoxi/p/6392154.html,一、final关键字的基本用法在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量原创 2017-12-21 19:47:11 · 3005 阅读 · 1 评论 -
RabbitMQ入门(一)——RabbitMQ的安装以及使用(Windows环境下)
一、RabbitMQ介绍1、RabbitMQ简介RabbitMQ是一个消息代理:它接受和转发消息。你可以把它想象成一个邮局:当你把你想要发布的邮件放在邮箱中时,你可以确定邮差先生最终将邮件发送给你的收件人。在这个比喻中,RabbitMQ是邮政信箱,邮局和邮递员。 RabbitMQ和邮局的主要区别在于它不处理纸张,而是接受,存储和转发二进制数据块 - 消息。引自(https://www...原创 2018-02-26 15:58:31 · 49833 阅读 · 28 评论 -
dubbo的安装和使用
一、dubbo的安装和使用安装使用链接:http://blog.csdn.net/songjinbin/article/details/26006621二、dubbo教程dubbo教程总汇:http://blog.csdn.net/hardworking0323/article/category/6149129...原创 2018-02-26 16:40:47 · 347 阅读 · 0 评论 -
注解总汇
一、@Configuration@Configuration注解该类,等价于XML中配置beans;二、@Bean@Bean标注方法等价于XML中配置bean。三、@EnableSwagger2在类上加上@EnableSwagger2的注解开启swagger...原创 2018-07-12 16:57:12 · 271 阅读 · 0 评论 -
swagger2常用注解
官方文档https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X#quick-annotation-overview常用注解:@Api()用于类; 表示标识这个类是swagger的资源 - @ApiOperation()用于方法; 表示一个http请求的操作 - @ApiParam()用于方法,...原创 2018-07-12 17:02:21 · 418 阅读 · 0 评论 -
git往gitLab迁移步骤
一、首先登录gitlab二、注意:git的老地址格式为如图http://账号:密码@git.*****.git原创 2019-03-04 20:43:50 · 615 阅读 · 0 评论 -
SolrJ客户端的使用
一、环境1、solr的搭建,参考http://blog.csdn.net/qq_31634461/article/details/78745156 2、所需jar包solr-solrj-4.10.3.jar,导入到项目中二、添加依赖<!-- solr客户端 --> <dependency> <groupId>org.apache.solr</groupId>原创 2017-12-08 17:40:58 · 2381 阅读 · 0 评论 -
Httpclient介绍及使用
一、什么是httpclientHTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下原创 2017-11-23 20:07:22 · 3089 阅读 · 0 评论 -
KindEditor富文本编辑器的使用
一、KindEditor 是什么?KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。 KindEditor 使用 JavaScript 编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、W原创 2017-10-26 16:53:32 · 3080 阅读 · 0 评论 -
Java中list集合框架
list里对象 1.Vector:内部是数组数据结构,是同步的,不用了 2.ArrayList:内部是数组数据结果,是不同步的,替代了Vector,查询快 3.LinkedList:内部是链表数据结构,是不同步的,增删快LinkedList link=new LinkedList(); link.addFirst(); //1.6后被offerFirst()原创 2017-10-20 15:05:55 · 2480 阅读 · 0 评论 -
Java泛型详解
**泛型:< >** jkd1.5出现的安全机制,用与编译时期,确保了类型的安全 好处: 1.将运行时期的问题ClassCastException转到了编译时期。 2.避免了强制转换的麻烦。<>:什么时候用?当操作的引用数据类型不确定的时候,就使用<>。将要操作的引用数据类型传入即可。 其实<>就是一个接受具体引用数据类型的参数范围。在程序中,只要用到了带原创 2017-10-20 15:16:08 · 2335 阅读 · 0 评论 -
Java中map集合框架
Map:一次添加一对元素,Collection一次添加一个元素 Map也称为双列集合, Collection称为单列集合 其实map集合中存储的就是键值对。,必须保证键的唯一性 常用方法 1.添加 value put(key,value) 返回前一个和key关联的值,如果没有返回null2.修改 void clear() 清空map集合 value remove原创 2017-10-20 15:12:34 · 2424 阅读 · 0 评论 -
Java中set集合框架
Set:元素不可以重复,是无序的 Set接口中的方法和Collection一致 1.HashSet:内部数据结构是哈希表,是不同步的,无序,不重复代码实例:HashSet hs=new HashSet(); //HashSet hs=new LinkedHashSet(); //有序 hs.add(new Person("value1",21)原创 2017-10-20 15:09:45 · 2383 阅读 · 0 评论 -
Java中==与equals()的区别
1.当比较数据为基本数据类型,也称原始数据类型时:如:byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号”==”,比较的是他们的值。 基本数据类型比较(string 除外), “==”和equals()两者都是比较值;2.复合数据类型(类)当他们用”==”进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一原创 2017-10-20 15:50:20 · 2333 阅读 · 0 评论 -
Java多线程的创建(方法一)
/* * * 创建线程的第二种方式,实现Runnable接口 * 1.定义类实现Runnable接口 * 2.覆盖接口中的run方法,将线程的任务代码封装到run方法中 * 3.通过Thread类创建线程对象,并将Runnable接口的子类对象作为构造函数的参数进行传递 * 4.调用线程对象的start方法开启线程 * * */class Demo1 implem原创 2017-10-20 14:55:51 · 2179 阅读 · 0 评论 -
Java多线程的创建(方法二)
/* * * 创建线程的第二种方式,实现Runnable接口 * 1.定义类实现Runnable接口 * 2.覆盖接口中的run方法,将线程的任务代码封装到run方法中 * 3.通过Thread类创建线程对象,并将Runnable接口的子类对象作为构造函数的参数进行传递 * 4.调用线程对象的start方法开启线程 * * */class Demo1 implements Ru原创 2017-10-20 15:00:21 · 2338 阅读 · 0 评论 -
正则表达式总结
一、公式 [ad-z] //a到z,不包括bc \d //数字0-9 \D //非数字 \s //空白字符 \S //非空白字符 \w //单词字符。a-z A-Z 0-9 _ \W //非单词字符 X? //X出现了一次或一次也没有 X* //X出现零次或多次 X+ //X出现一次或多次 X{n} //X恰好n次 X{n,原创 2017-10-21 18:23:08 · 2387 阅读 · 0 评论 -
多线程经典——生产者消费者问题(未加锁版)
/* * 生产者,消费者 * * */class Resrouce{ private String name; private int count=1; private boolean flag=false; public synchronized void set(String name) { while(flag) try{th原创 2017-10-21 18:29:29 · 2746 阅读 · 0 评论 -
多线程经典——生产者消费者问题(加锁版)
import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/* * 生产者,消费者 * Lock接口:出现替代了同步代码块或者同步函数,将同步的隐式锁操作变成现实锁操作, *原创 2017-10-21 18:30:16 · 3327 阅读 · 0 评论 -
idea更换远程git地址
一、查看远程地址:git remote -v会显示当前远程地址二、更改自己的远程地址使用命令git remote set-url origin 新的git地址原创 2019-03-04 20:48:21 · 1397 阅读 · 0 评论