自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

牛大圣

心境善,事事皆善!

  • 博客(43)
  • 收藏
  • 关注

原创 java基础动态代理和反射(一)-- 动态代理,反射,动态语言,静态语言

以上的方法返回值的类型是一个Class类,此类是Java反射的源头,实际上所谓反射从程序的运行结果来看也很好理解,即:可以通过对象反射求出类的名称。很多框架(比如 Spring)都是配置化的(比如通过 XML 文件配置 Bean),为了保证框架的通用性,它们可能需要根据配置文件加载不同的对象或类,调用不同的方法,这个时候就必须用到反射,运行时动态加载需要加载的对象。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。

2024-03-31 17:35:52 1085

原创 java计算机网络(一)-- url,tcp,udp,socket

若希望输出数据,例如向服务器端的CGI (公共网关接口-Common Gateway Interface-的简称,是用户浏览器和服务器端的应用程序进行连接的接口)程序发送一些数据,则必须先与URL建立连接,然后才能对其进行读写,此时需要使用URLConnection。在Java的URI中,一个URI实例可以代表绝对的,也可以是相对的,只要它符合URI的语法规则。需要创建新的套接字对象。1,创建udp的socket服务,必须要明确一个端口,作用在于,只有发送到这个端口的数据才是这个接收端可以处理的数据。

2024-03-31 17:00:55 776

原创 java文件File和IO流(二)-- IO流,递归,数据流,打印流,转换流等等

这个uid是依据类中的成员的数字签名进行运行获取的。其实就是将读取流和指定文件相关联,并读取一行数据,因为数据是规则的key=value,所以获取一行后,通过 = 对该行数据进行切割,左边就是键,右边就是值,将键、值存储到properties集合中。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。因为枚举操作的是具体集合中的元素,所以无法具体实现,但是枚举和迭代器是功能一样的,所以,可以用迭代替代枚举。

2024-03-31 16:35:08 622

原创 java文件File和IO流(一)-- File文件,IO流,缓冲流,字节流,字符流

因为字符每个国家都不一样,所以涉及到了字符编码问题,那么GBK编码的中文用unicode编码解析是有问题的,所以需要获取中文字节数据的同时+ 指定的编码表才可以解析正确数据。处理字节数据的流对象。I/O是Input/Output的缩写,I是指Input(输入),O是指Output(输出),I/O技术是非常实用的技术,用于。是给字符输出流提高效率用的,那就意味着,缓冲区对象建立时,必须要先有流对象。2. 在这四个系统中,它们的子类,都有一个共性特点:子类名后缀都是父类名,前缀名都是这个子类的功能名称。

2024-03-31 16:10:29 839

原创 java字符串(一)-- 字符串API,StringBuffer 和 StringBuilder,Object

String字符串相关的类String的特性 String类:代表字符串。Java 程序中的所有字符串字面值(如"abc" )都作为此类的实例实现。String类是引用数据类型。在 Java 8 中,String 内部使用 char 数组存储数据。public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value

2024-03-31 15:09:44 1022

原创 java线程(一)--进程,多线程,synchronized和lock锁,JUC,JUnit

Java线程入门单核CPU和多核CPU的理解单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务。例如:虽然有多车道,但是收费站只有一个工作人员在收费,只有收了费才能通过,那么CPU就好比收费人员。如果有某个人不想交钱,那么收费人员可以把他“挂起”(晾着他,等他想通了,准备好了钱,再去收费)。但是因为CPU时间单元特别短,因此感觉不出来。如果是多核的话,才能更好的发挥多线程的效率。(现在的服务器都是多核的)一个Java应用程序java.exe,其实至少有三个线

2024-03-31 11:55:16 1108

原创 java数组与集合框架(三)--Map,Hashtable,HashMap,LinkedHashMap,TreeMap

之所以转成set,是因为map集合具备着键的唯一性,其实set集合就来自于map,set集合底层其实用的就是map的方法。负载因子越小,就越容易触发扩容,数据密度也越小,意味着发生碰撞的几率越小,数组中的链表也就越短,查询和插入时比较的次数也越小,性能会更高。entry是访问键值关系的入口,是map的入口,访问的是map中的键值对。相比链式结构的节点,树型结构的节点会占用比较多的空间,所以这是一种以空间换时间的改进方式。按照原来的拉链法来解决冲突,如果一个桶上的冲突很严重的话,是会导致哈希表的效率降低至。

2024-03-31 00:20:54 923

原创 java数组与集合框架(二)-- 集合框架,Iterator迭代器,list

中存储元素的代码中,我们看到,每当向数组中添加元素时,都要去检查添加后元素的个数是否会超出当前数组的长度,如果超出,数组将会进行扩容,以满足添加数据的需求。数组扩容通过一个公开的方法。删除操作与添加操作大同小异,例如删除指定节点的过程如下图所示,需要把当前节点的前驱节点的后继修改为当前节点的后继,以及当前节点的后继结点的前驱修改为当前节点的前驱(是不是很绕?集合引用和迭代器引用在同时操作元素,通过集合获取到对应的迭代器后,在迭代中,进行集合引用的元素添加,迭代器并不知道,所以会出现异常情况。

2024-03-30 23:39:34 1220

原创 java数组与集合框架(一) -- 数据结构,数组

new出来的内容,都是在堆内存中存储的,而方法中的变量arr保存的是数组的地址arr[0],就会输出arr保存的内存地址中,数组中0索引上的元素。每个数组都具有长度,而且是固定的,Java中赋予了数组的一个属性,可以获取到数组的长度,语句为: 数组名.length ,属性length的执行结果是数组的长度,int类型结果。总结:简单来说,数据结构,就是一种程序设计优化的方法论,研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,目的是加快程序的执行速度、减少内存占用的空间。

2024-03-30 18:32:35 1205

原创 JAVA实现AES对称加密

对称加密的特点: 即加密密钥 = 解密密钥。

2023-11-08 15:06:26 123

原创 idea删除注释

【代码】idea删除注释。

2022-12-09 10:28:18 441 1

原创 nodejs下载安装

nodejs下载安装

2022-10-14 11:33:41 4750

原创 java基础知识(七)-- 泛型(Generics )

介绍用法:List list = new ArrayList();// 1list .add(new Integer(12));// 2Integer x = (Integer) list .iterator().next();// 3// 第3 行的类型转换有些烦人,为了保证对Integer 类型变量赋值的类型安全,必须进行类型转换。//当然,因为程序员可能不清楚他们的类型,导致这个类型转换有可能产生一个运行时错误。//而如何把一个list(集合) 中的内容限制为一个特定的数据...

2021-12-18 18:02:29 316

原创 java基础知识(六)-02- SpringAOP自定义注解(Annotation)实例

定义一个注解的方式:​//除了@符号,注解很像是一个接口。//定义注解的时候需要用到元注解,@Target和@Retention。@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface Test { /** 标题 */ //public String title() default ""; //在注解中一般会有一些元素以表示某些值。可以为其制定默认值。没有元素的

2021-12-18 12:50:35 758

原创 java基础知识(六)-01-注解(Annotation)

注解(Annotation) 概述从JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是Annotation(注解),目前非常的流行,很多主流框架都支持注解,而且自己编写尽量的去用注解,代码更加简洁。Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。通过使用Annotation, 程序员可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息。代码分析工具、开发工具和...

2021-12-17 22:44:27 430

原创 生成多位不重复的数字,数字之间不重复

生成多位不重复的字符串,仅限数字生成字符允许0为开头生成字符不允许0为开头package com.utils;import java.util.ArrayList;import java.util.List;import java.util.Random;/** * @author niu * @Title: CreateRandomNumber * @Descr...

2019-08-28 12:25:11 543 1

原创 easyPoi实现Excel文件上传图片并改变自定义图片上传地址

使用easypoi遇到的一个上传图片自定义图片地址的问题, 解决后就保留一下您正在使用easypoi进行excel导入图片,并希望可以更改导入后的图片地址,希望这篇文章能帮到您。本文主要是使用easypoi通过模版的形式导入图片。Maven依赖地址: <dependency> <groupId>cn.aftertu...

2019-08-28 11:30:31 2985 2

原创 java异常机制 -- 异常,垃圾回收

程序设计中异常处理框架的好坏直接影响到整个项目的代码质量以及后期的维护成本。异常:程序在运行时出现的问题。这个问题按照面向对象思想进行描述,并封装成了对象。这些问题产生的原因、名称、描述等多个属性信息存在,将这些异常按照面向对象的思想对问题进行对象封装,这样就方便于操作问题以及处理问题。异常出现的问题有很多种,比如角标越界,空指针等都是。就对这些问题进行分类。而且这些问题都有共性内容比如:...

2018-08-29 14:44:50 144 1

原创 JSON--学习

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON 是轻量级的文本数据交换...

2018-06-13 13:01:36 219

原创 微信公众平台开发入门(二) -- 基本配置信息

新手做微信开发,最好申请一个接口测试号,主要用于测试我们项目中的接口。申请步骤很简单,点击微信开发者文档中的接口测试号申请。然后进入登录页面,用自己的微信号扫一扫就可以申请到一下测试账号:https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;id=mp1421137522 /** * @Title: serverCo...

2018-06-12 16:42:48 496 2

原创 《劝学》 君子曰:学不可以已。

君子曰:学不可以已。吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。

2018-06-11 15:06:58 1376

原创 微信公众平台开发入门(一)--入门

    技术不是用的时候才去学习,而是学习之后才知道去用。    微信公众平台技术文档网址: https://mp.weixin.qq.com/wiki    请认真把  微信公众平台技术文档  第一章:开始前必读,学习一遍。        很多东西你不太清楚,可是当你读完一遍之后你就会豁然开朗,会觉得问题原来不过如此。...

2018-06-11 14:51:10 193

原创 java面对对象(六)--abstract , interface , 内部类

抽象类: abstract声明方法的存在而不去实现它。abstract修饰的类称为做抽象类;abstract修饰的方法叫做抽象方法,抽象方法只有声明部分,而没有具体的方法体。一个abstract类只关心它的子类是否具有某种功能,并不关心其自身功能的具体行为,功能的具体行为由子类负责实现。抽象类不能被直接实例化,即不能使用关键字new来创建该抽...

2018-06-07 14:53:45 320 1

原创 java面对对象(五)--多态(面向对象特征之一)

多态(面向对象特征之一)父类类型的变量指向子类创建的对象,使用该变量调用父类中一个被子类重写的方法,则父类中的方法呈现出不同的行为特征,这就是多态。函数本身就具备多态性,某一种事物有不同的具体的体现。体现:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat();多态的好处:A:提高了代码的维护性(继承保证)...

2018-06-06 17:11:58 199 1

原创 java面对对象(四)--继承(面向对象特征之一)

继承(面向对象特征之一)子类自动的共享父类中定义的数据和方法,被继承的类称为父类或超类,而经继承产生的类称为子类或派生类。根据继承机制,派生类继承了超类的所有属性和方法,并相应地增加了自己的一些新的方法和属性。若一个子类只允许继承一个父类,称为单继承;若允许继承多个父类,称为多继承。目前许多面向对象程序设计语言不支持多继承。而Java语言通过接口(interface...

2018-06-06 16:48:09 309 1

原创 java面对对象(三)--封装(面向对象特征之一)

封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中。另一层含义指“信息隐蔽”,把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,但不允许更改,而另一些属性或行为,则不允许外界知晓;或只允许使用对象的功能,而尽可能隐蔽...

2018-06-06 16:36:44 167 1

原创 java面对对象(二)--类与对象

类Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类。类与对象的关系类是创建对象的模板,确定对象将会拥有的属性和方法。类是一种数据类型,是对象的类型(不同于int等基本类型:类具有方法)类是对象的抽象化;对象是类的具体化。对象同时具有属性和方法两项特性。在面向对象程序设计中,类是一...

2018-06-06 16:30:25 305 1

原创 java面对对象(一)--6大原则

面向对象特点:1:将复杂的事情简单化。2:面向对象将以前的过程中的执行者,变成了指挥者。3:面向对象这种思想是符合现在人们思考习惯的一种思想。什么是面向对象呢?面向对象是一种编程思想,这种编程思想凸显对象在编程过程中的重要作用。简单的说就是让对象成为类与类之间的“通信”的桥梁,通过对象使类之间形成有机的整体。Java语言中的对象是对现实世界中对象的模拟,现实中的对象存在于现实生活中,Java语言中...

2018-06-06 15:59:14 429 1

原创 java基础知识(五)--包的命名规则,访问修饰符

包的命名规则:包名全部由小写字母(多个单词也全部小写);如果包名包含多个层次,每个层次应该用“.”分割;报名一般由倒置的域名开头,比如com.baidu.www;自定义包不能java开头;a、 package语句用于指明该源文件定义的类所在的包。一个Java源文件中最多只能有一条package语句;b、如果Java源文件中有package语句,则该语句一定是源文件中的第一条可执行语句,它的前面只能...

2018-06-06 14:53:31 403 1

原创 java基础知识(四)--函数方法,数组

枚举 方法 重载 数组

2018-06-06 14:49:02 219 1

原创 java基础知识(三)--数据类型,运算符号,分支语句

数据类型:数据类型决定了内存中存储数据的类型及所需内存的大小。 1):基本数据类型:byte、short、int、long、float、double、char、boolean 2):引用数据类型: 数组、类、接口枚举,注解级别从低到高为:byte,char,short(这三个平级)--&gt;int--&gt;float--&gt;long--&gt;double数...

2018-06-06 14:40:08 489 1

原创 java基础知识(二)-- 修饰符, 关键字,标示符,常量,常量

关键字:赋予了特殊含义的单词。不能用作变量名、方法名、类名、包名。保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。注意:goto标识符虽从不使用,但作为Java保留字保留 。Java中所有关键字一律由小写英文字母组成。标示符:标识符是编程时使用的名字Java对包、类、接口、方法、变量、常量等命名时使用的字符序列称为标识符。组成规则:A:英文大小写字母B:数字C:$和_注意事项:A:...

2018-06-06 14:23:00 369

原创 java简介(JDK)(一)

java概述:1991年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standar...

2018-06-06 14:10:31 238 1

原创 Eclipse中Top 设置成 4个空格

第一步:第二步第三步

2018-05-16 10:17:16 140

原创 Zookeeper的图解下载

zookeeper的官方地址:http://zookeeper.apache.org/选择Getting Started下的Download进入下载页面选择Download下的Download进入下载页面点击网址进入下载目录选择下载版本    alpha版本是内测,功能不是很完全的,能够满足一定的需要,不建议选择    beta是公测版本,基本上可以满足要求,可以适当的根据需要选择    如果是对...

2018-04-23 18:27:56 168

原创 安装MySQL 5.7.21数据库(Linux和Window)

Mysql下载下载地址:https://dev.mysql.com/downloads/mysql/Window下安装mysql5.7.18新建环境变量鼠标选择计算机右键,点属性,进去后点左边的高级属性设置,接着点环境变量,然后在下面一栏系统变量那里操作,新建环境变量:变量名:MSYQL_HOME变量值:D:\mysql-5.7.18-winx64变量值就是mysql的安装目录,根据自己的情况修改...

2018-04-23 11:23:46 225

原创 上传的碰到这个问题:The current request is not a multipart request

原因是html请求的方式问题。from中涉及到图片上传的就要用post提交方式。否则就会报这个错误。如果已经是post的提交还有这个错还有两种解决方法:第一中:在jsp页面的标签里面加上multipart/form-data; charset=utf-8" />原因请看http://www.tuicool.com/articles/FrY7Fv第二种:在

2018-01-31 11:22:39 3749

原创 tomcat配置读取本地图片资源

第一种:(1)假设图片保存路径为 F:\file\image(2)eclipse下配置访问本地图片:     双击tomcat server打开tomcat配置页面:(3)点击modules,点击Add External Web Module,配置如图(4)jsp页面img标签填写为即可访问保存在本地 F:\file\image下文件名为te

2017-12-26 10:41:30 1786

原创 web工程名上有红叉 java resource上有红色感叹号

右击项目名称,找到buildpath  选择configure buildpath  删除libraries里有红×的jar

2017-12-06 11:16:49 1698

原创 Spring下载各版本jar包

https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-local/org/springframework/spring网址直接到spring下载页面,选择版本即可下载

2017-12-06 10:15:33 395

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除