java基础学习
文章平均质量分 69
bird_tp
不管是菜鸟还是笨鸟,反正先飞总是没错
展开
-
java流知识小结
java流知识小结原创 2022-06-25 16:53:00 · 658 阅读 · 0 评论 -
javascript知识点小结
javascript知识点小结原创 2022-06-22 00:29:06 · 334 阅读 · 0 评论 -
jsp知识点小结
jsp知识点小结原创 2022-06-18 23:40:01 · 248 阅读 · 0 评论 -
CSS知识点小结
css知识简单小结原创 2022-06-18 23:29:28 · 285 阅读 · 0 评论 -
html知识小结
html简单知识总结原创 2022-06-18 23:17:37 · 193 阅读 · 0 评论 -
java基础知识小结
java基础知识总结原创 2022-06-18 22:57:01 · 198 阅读 · 0 评论 -
XML知识点总结
xml知识体系总结原创 2022-06-18 15:31:10 · 2647 阅读 · 0 评论 -
注解+切面式的分布式锁
一、案例需求 在一个SpringBoot项目,其中定时任务和web端代码耦合在一起,并部署在多个服务器节点上,但这样会存在一个问题,每个节点都会触发一次定时任务,这显然重复执行了。为了达到唯一控制效果,引入了分布式锁的功能。但是有个缺点是每写一个定时任务都得写一份与业务无关的分布式锁代码,这样造成大量的冗余代码。所以想着通过注解+切面的方式来实现代码的精简。二、代码1.注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.R..原创 2021-12-27 10:20:58 · 1103 阅读 · 0 评论 -
方法里基本类型参数,方法内部改变不会修改方法外部的值
话不多说,直接上代码一、代码 @org.junit.Test public void test7(){ int a= 3; add(a); System.out.println(a); List<String> list = new ArrayList<>(); list.add("c"); addList(list); System.out.pr原创 2021-05-21 17:00:27 · 1062 阅读 · 0 评论 -
break 通过自定义标签跳到指定位置
实现比较简单,但是不常用,所以本篇博客作为一个笔记使用,因代码简单,直接粘贴代码和运行结果public class Tets { public static void main(String[] args) { b:for(;;){ System.out.println("bbbbbbbbbbbbbbbbbbbbbb"); a: for(;;){ int i =0; for原创 2021-01-21 09:56:48 · 2764 阅读 · 3 评论 -
java 自定义注解
一、常用注解@Override,@Resource,@Autowired这三个注解在我们的日常开发中都是即为常用的注解二、如何创建一个自定义注解在java里用class关键字表示文件是一个类,而用@interface关键字则表示创建的是一个自定义注解三、元注解1.@Target表示注解能放在什么位置上,可以选择的位置列表如下:ElementType.TYPE:能修饰类、接口或枚举类型ElementType.FIELD:能修饰成员变量ElementType.METHOD:能修饰原创 2020-09-16 14:47:29 · 183 阅读 · 0 评论 -
JAVA8 关于集合的LAMBDA聚合操作
一、案例展示下面首先给大家展示一些JAVA8 关于集合的LAMBDA聚合操作案例@RequestMapping("/")public String index() { List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl"); //获得空字符串 System.out.println("list集合中空的个数有:"+strings.stream().filter原创 2020-09-08 16:38:39 · 1288 阅读 · 0 评论 -
java的内部类的分类
一、java内部类的类型java有4中内部类,分贝为成员内部类(非静态内部类),静态内部类,匿名内部类,局部内部类二、四种内部类的写法/** * @ClassName: Cat * @Author: tanp * @Description: ${description} * @Date: 2020/9/7 15:06 */public class Cat { private String name; /** * 成员内部类:外貌 */原创 2020-09-07 15:40:07 · 445 阅读 · 0 评论 -
MappedByteBuffer的使用
一、IO与NIO NIO(JDK1.4)模型是一种同步非阻塞IO,主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector(多路复用器)。1、阻塞与非阻塞阻塞与非阻塞是描述进程在访问某个资源时,数据是否准备就绪的的一种处理方式。当数据没有准备就绪时:阻塞:线程持续等待资源中数据准备完成,直到返回响应结果。 非阻塞:线程直接返回结果,不会持续等待资源准备数据结束后才响应结果。2、同步与异步 同步与异步是指访问数据的机制同步一般指主动请求并等...原创 2020-09-04 17:51:14 · 2069 阅读 · 0 评论 -
java final 关键字
一、作用由于语境(应用环境)不同,final 关键字的含义可能会稍微产生一些差异。但它最一般的意思就是声明“这个东西不能改变”。final 关键字的三种应用场合:数据、方法以及类二、 final修饰数据 许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”。常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 对于编译期的常数,编译器(程序)可将常数值“封装”到需要的计算过程里。也就是说...原创 2020-08-25 16:48:13 · 155 阅读 · 0 评论 -
Think in java书籍阅读小结
一、博客说明本篇博客为本人看完think in java这本书后,个人查漏补缺的一些知识点,记录下来作为笔记使用二、变量初始化顺序 在一个类里,变量初始化的顺序是由变量在类内的定义顺序决定的。即使变量定义大量遍布于方法定义的后面,那些变量仍会在调用任何方法之前得到初始化——甚至在构建器调用之前。public class A{ A(){ str = “abc”; } String str = “a”; }对于静态变量、静态初始...原创 2020-08-25 16:36:07 · 401 阅读 · 0 评论 -
String a;String a=null;String a=““的区别
一、问题描述很多人在定义一个String类型的变量时会用到以下的方式String a;String a=null;String a=""那么这三种有什么区别呢;二、String a;String a 只是在栈中声明了一个a的内存地址,并没有给它赋初值,也就是在没有在堆内存中申请内存地址,更没有在堆内存指向引用地址;三、String a=null在栈中声明了一个a的内存地址,在堆中也申请了一个内存地址,但是堆中的地址不指向任何栈里的引用地址四、String a=“”原创 2020-08-11 10:29:44 · 5409 阅读 · 3 评论 -
循环外和循环内定义变量的区别
一、代码展示import java.util.HashMap;import java.util.Map;/** * @Package: raymond * @ClassName: Test * @Author: tanp * @Description: ${description} * @Date: 2020/8/10 14:12 */public class Test { public static void main(String[] args) {原创 2020-08-10 17:48:38 · 6483 阅读 · 2 评论 -
java 通过枚举实现单例模式做缓存
一、选择单例模式做缓存的优点首先来说缓存,首先我们通过java内存做缓存,肯定是缓存我们需要的数据,且这些缓存数据是不可以随意去更改的,这时用单例的设计模式去做缓存,就可以实现,我们拿到缓存对象,都是从一个地方去拿,且拿到的都是同一个对象,这样大大的增加了缓存的安全性。二、懒汉,饿汉实现单例首先我们来说下,单例最常见的两种模式,懒汉式,饿汉式懒汉式/** * @Class...原创 2020-04-16 15:58:53 · 1075 阅读 · 0 评论 -
内存泄露与内存溢出的区别
1 内存泄漏的定义 当一个对象已经不需要使用了,本该被回收时,而有另外一个正在使用的对象持有它的引用,从而导致了对象不能被GC回收。这种导致了本该被回收的对象不能被回收而停留在堆内存中,就产生了内存泄漏2 内存泄漏与内存溢出的区别- 内存泄漏(Memory Leak) - 进程中某些对象已经没有使用的价值了,但是他们却还可以直接或间接地被引用到GC Root导致无法回收。...原创 2019-12-11 16:40:16 · 244 阅读 · 0 评论 -
try catch finally中return的执行顺序
1.finally语句在return语句执行之后,return返回之前执行的。如:public class FinallyTest1 { public static void main(String[] args) { System.out.println(test11()); } public static Str...原创 2019-12-02 22:39:16 · 214 阅读 · 0 评论 -
java异常学习
首先,我们在写代码的时候,对于一些可能会出现空指针,类型转换时会使用try catch,我们需要明白,它的作用是什么?举例:1:无try catchpublic static void main(String[] args) {String i = "";int ii = Integer.ValueOf(i)System.out.println(ii); System.o...原创 2019-12-02 22:23:29 · 294 阅读 · 0 评论 -
深拷贝与浅拷贝
1.什么是浅拷贝浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。 - 如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象。如下demo:List<String> string = Arrays.asList("abc", "b...原创 2019-11-04 11:54:36 · 154 阅读 · 0 评论 -
java 静态工厂方法代替构造器的好处
Java 的静态工厂方法 序:什么是静态工厂方法 Effective Java 2.1 静态工厂方法与构造器不同的第一优势在于,它们有名字 2.2 第二个优势,不用每次被调用时都创建新对象 2.3 第三个优势,可以返回原返回类型的子类 2.4 第四个优势,在创建带泛型的实例时,能使代码变得简洁 除此之外 3.1 可以有多个参数相同但名称不同的工厂方法 ...转载 2018-10-28 19:32:49 · 530 阅读 · 0 评论 -
继承原则与子父类初始化过程,类成员访问权限,普通类与抽象类,throwble类,重写与重载,string对象修改,i=i++;
Public>protected>default>private以上是类成员访问权限及权限大小2.继承原则和继承时初始化过程子类继承父类的成员变量子类继承父类除构造方法以外的成员方法子类不能继承父类的构造方法子类可以增加成员,可以重定义从父类继承来的成员,但不能删除它们。 a.. 初始化父类的静态成员变量和静态代码块b.. 初始化子类的静态成员变量及静态原创 2017-11-20 22:18:53 · 333 阅读 · 0 评论 -
java控制台输出List中自定义对象属性值的两种方法
package com.fpi.safety;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class TestPrintList { public static void main(S...原创 2018-11-06 19:30:36 · 10402 阅读 · 0 评论 -
java调用内部类的两种方法
package com.fpi.safety;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class TestPrintList { public static void main(S...原创 2018-11-06 19:31:36 · 29536 阅读 · 1 评论 -
set自定义对象去重用法
1.自定义对象重写hashCode值,因为用set.add方法添加自定义对象时,会将hashCode值作为是否为同一个对象的凭证。重写hashcode值,将自定义对象中,一个唯一值的属性作为hashcode值返回出去,在调用set.add方法时,则会以自定义对象唯一属性值来作为是否为重复对象的判断。import java.util.HashSet;import java.util.Set;...原创 2018-11-02 10:05:43 · 3431 阅读 · 0 评论 -
javax.persistence.EntityManager 用法
javax.persistence.EntityManager是一个PA接口发布接口EntityManager接口用于与持久化上下文交互。一个EntityManager实例与持久化上下文相关的。一个持久化上下文是一组中的实体实例的任何持久的实体的身份有一个独特的实体实例。在持久性上下文中,实体实例及其生命周期管理。这个EntityManagerAPI是用于创建和删除持久的实体实例...原创 2018-11-02 11:36:17 · 11694 阅读 · 0 评论 -
java8 lambda表达式
首先,我们来看下lambda的两个实例,一个是用来演示简化内部类的用法,另一个则是演示遍历集合的用法//1.简化内部类 //Java8之前新建一个线程 @Test public void oldInteriorClass(){ new Thread(new Runnable() { @Override pu...原创 2018-11-08 15:49:21 · 620 阅读 · 0 评论 -
java 缓存理解
java中缓存的原理外存: 也就是我们经常说的(CDEF盘的大小)外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等,一般的软件都是安装在外存中内存: 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memor...原创 2019-01-11 11:25:14 · 895 阅读 · 2 评论 -
如何在java中通过一个网址访问一个网站
本知识点,通过一段代码来解释import java.awt.Desktop;import java.net.URI;public class UrlTyr2 {public static void main(String[] args) {try {String url = "http://www.baidu.com/";//创建一个URI实例URI原创 2017-01-07 21:32:35 · 4566 阅读 · 1 评论