java基础知识
文章平均质量分 61
大堡小强强
这个作者很懒,什么都没留下…
展开
-
java基础-网络io
问:初步理解网络IOpublic class ServerDemo { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(8080); Socket socket = serverSocket.accept(); InputStream inputStream = socke原创 2021-07-03 12:15:56 · 87 阅读 · 1 评论 -
网络IO流
问:什么是IO流以及IO流的作用?I/0实际上是input和output,也就是输入和输出。而流其实是一种抽象的概念,它表示的是数据的无结构化传递;图1-2:问:java中的IO流,以及IO流的分类在Java中I/0流操作的类很多,但是核心体系实际上就只有File、lnputStream、OutputStream、Reader、Writer字节流:操作的数据单元是8位的字节。InputStream、OutputStream作为抽象基类。字符流:操作的数据单元是字符。以Wr原创 2021-07-03 10:16:52 · 147 阅读 · 0 评论 -
jaav基础-工厂模式
IOC 工厂,单例,装饰器AOP 代理,观察者MVC 委派,适配器JDBC 模板方法简单工厂模式simple Factory Pattern由一个工厂对象决定创建出哪一种产品类的实例属于创建型模型,但它不属于GOF,23种设计模式;例子:simpleFactoryinterface Icourse { void study();}pubilc class JavaCourse implements Icourse{public void studty...原创 2021-07-01 21:35:41 · 997 阅读 · 0 评论 -
java基础-红黑树详解
红黑树特点:1.每一个节点要么是红色,要么是黑色;2.根节点必须是黑色;3.每个叶子节点【NIL】是黑色;4.每个红色节点的两个子节点必须是黑色;5.任意节点到每个叶子节点的路径包含相同数量的黑节点;红黑树场景,图片:详解1.红黑树为空把插入节点作为根节点,并把节点设置为黑色;2.插入节点的父节点为黑节点,直接插入;3.插入的节点的父节点为红节点叔叔节点存在且为红节点 1.将p和S设置为黑色; 2.将pp设置为红色; 3.将pp设原创 2021-06-28 21:49:33 · 262 阅读 · 4 评论 -
java基础-注解
注解的概念注解的本质其实就是一个接口,继承Annotation父接口;属性:在接口定义的抽象方法1.基本数据类型;2.String类型;3.枚举类型;4.注解5.以上类型的数组;属性赋值注意点1.如果定义的属性时,使用default关键字给属性默认初始值,可以在使用注解是不赋值;元注解JDK中给我们提供的4个元注解1.@Target 描述当前注解能够作用的位置 ElementType.type 可以作用在类上 METHOD 可以作用在方法上...原创 2021-06-27 15:18:23 · 75 阅读 · 0 评论 -
java基础-反射
概念反向探知,探知以前的事情指在java程序运行状态中1.对于给定的一个类(Class)对象,可以获取这个类Class对象的所有属性和方法;2.对于给定的而一个对象,new XXXClassName<? extend Object> ,都能够调用它任意一个属性和方法;这种动态获取类的内容以及动态调用对象的方法和获取属性的机制,就叫做JAVA的反射机制;例子:public class User { private Long id; public..原创 2021-06-26 23:04:55 · 175 阅读 · 1 评论 -
java基础-泛型
List<String> strings = new ArrayList<String>(); strings.add("1");本质:参数化类型泛型的擦除泛型只在编译阶段有效,编译之后JVM会采取去泛型化的措施;泛型在运行阶段是没有效果的;通配符1.无边界通配符?= anything都可以 public class Demo1 { public static void main(String[] args) ...原创 2021-06-26 19:16:38 · 68 阅读 · 0 评论 -
HashMap
源码解析 final void treeifyBin(Node<K,V>[] tab, int hash) { int n, index; Node<K,V> e; // 如果tab为null,或者数组的长度小于64,那就扩容 if (tab == null || (n = tab.length) < MIN_TREEIFY_CAPACITY) { // 进行扩容 resi原创 2021-06-26 17:58:34 · 95 阅读 · 0 评论 -
java核心-集合篇
集合数组 public static void main(String[] args) { char[] cs = new char[] {'g','u','p','a','o'}; char c = cs[0]; System.out.println(c); }特点:1.内存地址连续,使用之前必须要指定数组长度2.可以通过下标访问的方式访问成员,查询效率高3.增删操作会给系统带来性能消耗[保存数据下标越界的问题,需要动态原创 2021-06-26 11:39:51 · 93 阅读 · 0 评论 -
myabtis分页
public List<RepayPlan> listRepayPlan(int start) { // 查询所有未还款结清且应还日期小于当前时间的账单 Example example = new Example(RepayPlan.class); example.orderBy("id "); // 按id排序 ex...原创 2020-04-21 10:13:10 · 273 阅读 · 0 评论 -
关于Class.getResource和ClassLoader.getResource的路径问题
关于Class.getResource和ClassLoader.getResource的路径问题Class.getResource(String path)path不以'/'开头时,默认是从此类所在的包下取资源; path以'/'开头时,则是从项目的ClassPath根下获取资源。在这里'/'表示ClassPathJDK设置这样的规则,是很好理解的,path不以'/'开头时,我们...原创 2019-12-15 17:47:55 · 258 阅读 · 0 评论 -
为什么执行单例对象的方法不会有线程安全的问题?
为什么执行单例对象的方法不会有线程安全的问题?spring单例bean对象 ,因为对象被实例化后,实例的方法只是磁盘上的一段代码,不存在线程安全问题。多线程对springbean 只存在读取关系,至于数据库连接哪里,应该是为每根线程连接数据库,搞了一个threadLocal存起来了。然后用完在放回去。...原创 2019-11-07 22:41:39 · 969 阅读 · 0 评论 -
JAVA 常用IO流
1.什么是IO流IO:Input Outputa.介绍1.Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中;2.流是干什么的? 为了永久性的保存数据根据数据流向的不同分为输入流和输出流;根据处理数据类型的不同分为字符流和字节流;3.InputStream(字节输入流)和Reader(字符输入流...原创 2018-09-13 00:19:59 · 107 阅读 · 0 评论 -
java8 新特征使用
1.获取list集合从里面取一个参数成集合 BbtCustomer参数 public String getNick() { return nick; } List<BbtCustomer> users = bbtCustomerMapper.selectByExample(example); List<S...原创 2018-09-28 09:12:58 · 102 阅读 · 0 评论 -
学习Spring必学的Java基础知识(2)----动态代理
参考:http://www.iteye.com/topic/1123293是什么?AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待; 一 AOP的基本概念1、横切关注点1.1 具有公共逻辑的,与其他模块的核心逻辑纠缠在一起的行为称为“横切关注点(Crosscutting Concern)”1.2 对哪些方法进行拦截,拦截...原创 2018-10-23 00:10:51 · 105 阅读 · 0 评论 -
学习Spring必学的Java基础知识(1)----反射
是什么? 1.Java语言允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数、属性和方法等。Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能,这就为使用程序化方式操作Class对象开辟了途径。 2.Java Reflac...原创 2018-10-17 16:51:31 · 251 阅读 · 0 评论 -
跨域问题?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lambert310/article/details/51683775什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:http://www.123.com/in...转载 2018-11-16 11:46:51 · 83 阅读 · 0 评论 -
o(1), o(n), o(logn), o(nlogn)
在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义: 这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。 比如时间复杂度为O(n),就代表数据量增大几倍,耗时也增大几倍...转载 2018-11-21 10:14:21 · 128 阅读 · 0 评论 -
处理重复日志
前言:做一个需求,后台数据统计,需要加日志,每个方法,每个方法的增加日志,很烦躁。于是,这样处理。 怎么办?1.先定义一个注解类package com.bbt.oper.aop.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import ...原创 2019-01-04 11:22:09 · 429 阅读 · 0 评论 -
反射
是什么?1.必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码);2、JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中...原创 2019-01-05 13:46:50 · 113 阅读 · 0 评论 -
ibatis批量更新
publicvoidbatchUpdate(finalStringstatementName,finalListlist){try{if(list!=null){this.getSqlMapClientTemplate().execute(newSqlMa...原创 2019-07-18 11:08:41 · 634 阅读 · 0 评论 -
Java 反射机制
参考:https://www.cnblogs.com/doudouxiaoye/p/5819813.htmlJava 反射机制基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的。 这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。...转载 2018-10-16 18:31:51 · 67 阅读 · 0 评论 -
Object类介绍
参考:https://www.cnblogs.com/doudouxiaoye/p/5677268.html一、Object类介绍 Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所...转载 2018-10-16 18:25:49 · 15371 阅读 · 0 评论 -
面向对象1
参考:https://www.cnblogs.com/doudouxiaoye/p/5676709.html一、面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该...转载 2018-10-01 17:16:06 · 112 阅读 · 0 评论 -
面向对象2
一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可。如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类体里面定义person这个类应该具有的成员变量(即属性)和方法,如这里定义的int id和int age这个两个成员变量,或者叫属性,这个id表示人的身份证号码,人应该具有这个属性...转载 2018-10-01 17:17:38 · 100 阅读 · 0 评论 -
web.xml 解析
1.什么是web.xml web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。2.为什么用web.xml初始化配置信息 ,在web.xml的模式(Schema)文件中,定义了多种标签元素,web.xml中就可以在它的模式文件所定义的标签元素,定义出来那些功能。3.具体实现...原创 2018-09-25 23:37:29 · 645 阅读 · 0 评论 -
eclipse异常
工作空间有毛病.把workspace的.metadata删了原创 2018-09-13 22:57:28 · 189 阅读 · 0 评论 -
CSV下载 上传
package com.xxq.qianniu.rest.util;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import ja...原创 2018-09-18 22:41:00 · 466 阅读 · 0 评论 -
maven 本地配置
setting配置<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed...原创 2018-08-08 19:35:14 · 144 阅读 · 0 评论 -
解析关键字native
1.是什么 java Native Interface java本地接口 ,简单地讲,一个Native Method就是一个java调用非java代码的接口。 java平台与本地C代码进行互操作的API。 该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。 ...原创 2018-07-23 16:21:59 · 238 阅读 · 0 评论 -
解析transient关键字
1.基本使用 提供一种持久化对象实例的机制, Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient,transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分...原创 2018-07-23 15:25:15 · 616 阅读 · 0 评论 -
解析final关键字
基础:1.修饰类当用final修饰一个类时,表明这个类不能被继承,基本类型所对应的包装类型 Byte,Short,Character,Integer,Long,Float,Double 都是 final 类。final类中的成员变量可以根据需要设为final,但是,注意final类中的所有成员方法都会被隐式地指定为final方法2.修饰方法禁止该方法在子类被覆盖的情况下才将设置为f...原创 2018-07-23 13:28:55 · 148 阅读 · 0 评论 -
抽象类(一)
参考:https://www.cnblogs.com/doudouxiaoye/p/5676709.html一、抽象类介绍 下面通过一下的小程序深入理解抽象类 因此在类Animal里面只需要定义这个enjoy()方法就可以了,使用abstract关键字把enjoy()方法定义成一个抽象方法,定义如下:public abstract void enjoy(); 从某种...转载 2018-10-01 17:20:52 · 356 阅读 · 0 评论 -
接口(一)
参考:https://www.cnblogs.com/doudouxiaoye/p/5661940.html接口 接口,英文称作interface,在软件工程中,接口泛指供别人调用的方法或者函数。从这里,我们可以体会到Java语言设计者的初衷,它是对行为的抽象。在Java中,定一个接口的形式如下: 1 2 3 [public] interf...转载 2018-10-01 17:22:38 · 105 阅读 · 0 评论 -
super 方法
参考:https://www.cnblogs.com/doudouxiaoye/p/5756519.html接下来执行第二句话:1 cc.f(); 当new一个对象出来的时候,这个对象会产生一个this的引用,这个this引用指向对象自身。如果new出来的对象是一个子类对象的话,那么这个子类对象里面还会有一个super引用,这个super指向当前对象里面的父对象。所以相...转载 2018-10-16 18:26:16 · 1112 阅读 · 0 评论 -
内部类(转载)
参考:https://www.cnblogs.com/doudouxiaoye/p/5778991.htmlJava内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类...转载 2018-10-16 18:28:24 · 71 阅读 · 0 评论 -
java中的四种代码块
参考:https://www.cnblogs.com/doudouxiaoye/p/5697634.html一、普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args){ //普通代码块 { int x...转载 2018-10-16 18:28:03 · 73 阅读 · 0 评论 -
理解父类引用指向子类对象
参考:https://www.cnblogs.com/doudouxiaoye/p/5697640.htmljava多态,如何理解父类引用指向子类对象要理解多态性,首先要知道什么是“向上转型”。我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类。我可以通过 Cat c = new Cat(); 实例化一个Cat的对象,这个不难理解。但当我这样定义时: A...转载 2018-10-01 17:32:34 · 183 阅读 · 0 评论 -
抽象类和接口的区别
参考:https://www.cnblogs.com/doudouxiaoye/p/5662006.html1.语法层面上的区别 1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法; 2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的; 3)接口中不能含有静态代码块以及静态方法,...转载 2018-10-01 17:30:37 · 109 阅读 · 0 评论 -
对象和对象引用
参考:https://www.cnblogs.com/doudouxiaoye/p/5658700.html1.何谓对象? 在Java中有一句比较流行的话,叫做“万物皆对象”,这是Java语言设计之初的理念之一。要理解什么是对象,需要跟类一起结合起来理解。下面这段话引自《Java编程思想》中的一段原话: “按照通俗的说法,每个对象都是某个类(class)的一个实例(instance...转载 2018-10-01 17:29:43 · 160 阅读 · 0 评论