![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java-学习
文章平均质量分 81
申公
做一个有逼格的程序员
展开
-
springBoot整合CXF并实现用户名密码校验的方法
/name暴露的服务名称, targetNamespace:命名空间,设置为接口的包名倒写(默认是本类包名倒写). endpointInterface接口地址。原文链接:https://blog.csdn.net/weixin_41138656/article/details/79393366。System.out.println("==============返回结果:" + result);// invoke("方法名",参数1,参数2,参数3....);原创 2023-03-22 11:28:39 · 754 阅读 · 0 评论 -
Java学习之线程锁--单例模式--synchronized
多线程下单例模式加锁:public class TestSingeton01 extends Thread{ //声明私有的静态属性 private static TestSingeton01 instance=null; //构造器私有化 private TestSingeton01(){ } //对外提供访问属性的静态方法,确保该对象存在。 //提高已经存在的对象访问效率原创 2015-03-08 00:01:17 · 509 阅读 · 0 评论 -
Java学习之线程状态
一、状态分类1.新生状态: 用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间。通过调用start方法进入就绪状态(runable)2.就绪状态: 处于就绪状态的线程已经具备了运行条件,但还么有分配到CPU,处于线程就绪队列,等待系统为其分配CPU。等待状态并不执行状态,当原创 2015-03-07 21:54:38 · 664 阅读 · 0 评论 -
Java学习之线程的基本信息
线程的基本信息:isAlive():判断线程是否还“活”着,即线程是否还未终止getPriority():获得线程的优先级数值setPriority():设置线程的优先级数值setName():给一个线程取名字getName():给一个线程取名字currentThread():取得当前正在运行的线程对象也就是取得自己本身。优先级:Thread.MAX_P原创 2015-03-07 22:17:50 · 419 阅读 · 0 评论 -
Java学习之网络编程--URL
一、概念URI(Uniform resource identifier)统一资源标识符,用来唯一的标示一个资源URL(Uniform Resource Locator):统一资源定位器,它是一种具体的URI统一资源定位符由4部分组成:协议,存放资源的主机域名,资源文件名和端口号。Url是指向互联网资源的指针资源可以使简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜原创 2015-03-08 22:25:44 · 625 阅读 · 0 评论 -
Java学习之UDP--DatagramSocket和DatagramPacket
一、概念:UDP:基于UDP协议的通信方式,称为数据报通信方式二、类:DatagramSocket:用于发送或接受数据包DatagramPacket:数据容器(封包)的作用三、步骤:客户端:1.创建客户端 DatagramSocket 类+指定端口2.准备数据 字节数组3.打包 DatagramPacket + 服务器地址及端口4.发送5.释放资源p原创 2015-03-08 23:19:15 · 1556 阅读 · 1 评论 -
Java学习之网络编程--InetAddress,InetSocketAddress
1.InetAddress:封装计算机的IP地址和DNS,没有端口静态方法货物对象InetAddress.getLocalHost();InetAddress.getByName(域名|IP)方法getHostAddress(); 返回IP地址getHostName(); 返回域名|本机为计算机名public static void main(String[] args)原创 2015-03-08 22:03:12 · 8450 阅读 · 0 评论 -
Java学习之任务调度--Timer
Timer定时器类TimerTask任务类1.通过java timer timetask:(spring的任务调度就是通过他们来实现的)2.在这种国实现方中,Timer类实现的是类似闹钟的功能,也就是定时或者每隔一定时间触发一次线程。其实,Timer类本身实现的就是一个线程,只是这个线程是用来实现调用其他线程的。而TimerTask类是一个抽象类,该类实现了Runnable接口,所以按原创 2015-03-08 16:52:54 · 516 阅读 · 0 评论 -
Java学习之线程--死锁-生产者消费者模式
一、过多的同步会导致死锁二、生产者消费者模式:生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后原创 2015-03-08 16:34:47 · 3515 阅读 · 0 评论 -
Java学习之线程锁--synchronized
同步:并发 多个线程访问同一份资源 确保资源安全 --》线程安全synchronized: 同步 1、同步块synchronized(引用类型|this|类.class){}2、同步方法public synchronized void test(){}public class TestSyn { public static void main(String原创 2015-03-07 23:21:18 · 491 阅读 · 0 评论 -
Java学习之网络编程--概念
一、网络:将不同区域的计算机连接到一起 局域网 城域网 互联网二、地址:IP地址 确定网络上 一个绝对地址|位置三、端口号:区分计算机的不同进程,类似于门牌号,2个字节 0-65535 共65536个1.在同一协议下 端口号不能重复 不同协议下可以重复2.1024一下不要使用,预留给系统, 比如 80 21;四、资源定位:URL 同一资源定位符 URI:统一资源五、原创 2015-03-08 19:27:27 · 418 阅读 · 0 评论 -
Java学习之线程锁--单例模式写法--synchronized
单例设计模式:1):懒汉式:(不一定安全,确保只有一份对象需要synchronized)1.构造器私有化2.声明私有的静态属性3.对外提供访问属性的静态方法,确保该对象存在。(1):写法,多线程下不安全public class TestSingeton02 { private static TestSingeton02 instance; private TestSi原创 2015-03-07 23:58:15 · 4753 阅读 · 0 评论 -
java学习之字节流--InputStream和OutputStream
一、文件的读取 * 1、建立联系 File对象 源头2、选择流 文件输入流 InputStream FileInputStream3、操作 : byte[] car =new byte[1024]; +read+读取大小 输出4、释放资源 :关闭public class Demo01 { public static void原创 2015-02-27 23:16:16 · 532 阅读 · 0 评论 -
Java学习之线程总结
一、创建线程 重点1、继承Thread2、实现Runnable接口3、实现Callable(了解)二、线程的状态1、新生--》start-->就绪-->运行-->阻塞-->终止2.终止线程(重点)3.阻塞: join(), yield(),sleep()三、线程的信息1.Thread.currentThread2.获取名称,设置名称,设原创 2015-03-08 17:02:14 · 309 阅读 · 0 评论 -
Java学习之网路编程--TCP/IP
Socket通信:基于TCP协议,建议稳定连接的点对点的通信。实时 快速 安全性高 占用系统资源多 效率低请求--响应模式 request-- response客户端服务器Socket:发送TCP消息ServerSocket:创建服务器套接字:是一种进程间的数据交换机制。这些进程既可以在同一机器上,也可以在通过网络连接的不同机器上。换句话说,套接字原创 2015-03-11 22:52:19 · 571 阅读 · 0 评论 -
在同一台机器上安装多个版本jdk,修改环境变量不生效
本机已经安装了jdk1.6,而比较早期的项目需要依赖jdk1.5,于是同时在本机安装了jdk1.5和jdk1.6. 安装jdk1.5前,执行java -version得到java version "1.6.0_38"Java(TM) SE Runtime Environment (build 1.6.0_38-b05)Java HotSpot(TM) 64-Bit Ser原创 2015-11-06 16:14:47 · 689 阅读 · 0 评论 -
关于java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解决办法
在编写邮件发送相关程序时,会报错! 主要原因是 javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入,所以初学者在直接copy别人代码的时候往往会出现上面的错误。 废话不多说下面是解决方法 进到X转载 2015-09-11 10:13:58 · 345 阅读 · 0 评论 -
java学习之Servlet Filter
1、Filter简介(1)Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。(2)Servlet API中提供了一个F转载 2015-03-24 17:41:24 · 712 阅读 · 0 评论 -
探秘Java中的String、StringBuilder以及StringBuffer
探秘Java中的String、StringBuilder以及StringBuffer探秘Java中String、StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String、StringBuilder和StringBuffer这几个类,分析它们转载 2015-03-18 10:38:37 · 692 阅读 · 1 评论 -
Java学习之反射--Reflection
反射机制--reflection反射机制动态编译动态执行javascript代码动态字节码操作一、动态语言 程序运行时候,可以改变程序结构或变量类型。典型的语言: Python、ruby、JavaScript等。 如下javascript代码:function test(){ var s=" var a=3;va原创 2015-03-14 00:12:22 · 518 阅读 · 0 评论 -
JAVA学习之Servlet
这里介绍一下Servlet,供总结知识之用:一.Tomcat的web Application的概念:Web Application NameWEB-INF--web.xml:该web app的配置文件lib:该web app用到的库文件classes:存放编译好的servletMETA-INF:存放该web app的上下文信息,符合J2EE标准Web Applicati原创 2015-03-22 22:44:16 · 581 阅读 · 0 评论 -
java学习之Servlet之--Cookie,Session,Application
CookieHtpp协议的无连接性要求出现一种保存C/S间状态的机制Cookie:保存到客户端的一个文本文件,与特定客户相关Cookie:以“名-值”对的形式保存数据创建Cookie: new Cookie(name,value)可以使用一些Cookie的setXXX方法来设定一些相应的值setName(String name)/getName()setValue(String value原创 2015-03-22 22:58:05 · 1288 阅读 · 0 评论 -
Java学习之内部注解--Annotation
一、什么是注解1.Annotation是从JDK5.0开始引入的新技术2.Annotation的作用: 1).不是程序本身,可以对程序作出解释。(这一点,跟注释没什么区别) 2).可以被其他程序(比如:编译器等)读取。(注解信息处理流程,是注解和注释的重大区别。如果没有注解信息处理流程,则注解毫无意义)3.Annotation格式: 注原创 2015-03-12 23:05:48 · 733 阅读 · 0 评论 -
Java学习之内部注解--Annotation
一、什么是注解 1.Annotation是从JDK5.0开始引入的新技术 2.Annotation的作用: 1).不是程序本身,可以对程序作出解释。(这一点,跟注释没什么区别) 2).可以被其他程序(比如:编译器等)读取。(注解信息处理流程,是注解和注释的重大区别。如果没有注解信息处理流程,则注解毫无意义) 3.Annotation格式:原创 2015-03-13 11:45:21 · 788 阅读 · 0 评论 -
Java学习之网络编程--模拟HTTP
协议:1.应用层 HTTP FTP TELENET SNMP DNS2.传输层 TCP UDP3.网络层 IP4.主机-网络层 以太网 IEEE802.3 令牌环网:IEEE802.4HTTP(Hypertext Transfer Protocol 超文本传输协议) 是网络应用层的协议,建议在TCP/IP协议基础上。HTTP协议使用可靠的TCP连接,默认端口为80.目前最新的版原创 2015-03-11 22:57:45 · 802 阅读 · 0 评论 -
java学习之Servlet请求转发之RequestDispatcher
转发的原理: 图片来自:http://blog.sina.com.cn/s/blog_4a157f470100a86y.html?retcode=0 浏览器将请求发送至servlet容器后,相应的组件获取到这个请求,然后在其内部将这个请求转发(request, response)给另外一个组件2,然后有组件2来响应浏览器的请求,但是此时浏览器上看到转载 2015-03-27 16:37:44 · 824 阅读 · 0 评论 -
Java学习之多线程--创建线程的三种方式
一、Thread 创建线程1、创建多线程 继承 Thread +重写run(线程体)2、使用线程: 创建子类对象 + 对象.start() 线程启动class Rabbit extends Thread{ public void run(){ for(int i=0;i<100;i++){ System.out.println("兔子跑了"+i+"步"); }原创 2015-03-05 22:42:19 · 504 阅读 · 0 评论 -
Java学习之IO总结
一、步骤:创建源 选择流 操作(读取|写出) 释放二、具体的流:(1):节点流:离数据源|程序最近的流 1、字节流:可以处理一切(纯文本、音频、视频等文件) 1):输入流:InputStream FileInputStream ByteArrayInputStream操作: read(字节数组)a)、中间容器 byte[] flush=new byte[长度]原创 2015-03-04 22:17:54 · 433 阅读 · 0 评论 -
java学习之File类--2015-2-26
File类解释:文件和目录路径名的抽象表示形式,建立File对象不会对文件系统产生影响。 程序-----file-------》文件/文件夹:通过File建立联系,而并不是读写文件操作,真正操作内容是通过IO流操作。 1. 两个常量(1) 路径分隔符pathSeparator(2) 名称分隔符 \(windows) /(linux)等。Se原创 2015-02-26 22:54:17 · 417 阅读 · 0 评论 -
Java学习之动态编译--字节码操作--javassist类库
一、字节码操作Java动态性的两种常见实现方式:字节码操作反射运行时操作字节码可以让我妈实现如下功能:动态生成新的类动态改变某个类的结构(添加/删除/修改 新的属性/方法)优势:比反射开销小,性能高Javaasist性能高于反射,低于ASM二、常见的字节码操作类库1.BCELByte Code Engineering Library(BCEL),这是原创 2015-03-14 22:57:51 · 8884 阅读 · 2 评论 -
Java学习之类加载全过程_JVM内存分析_反射机制核心原理_常量池理解
一、类加载机制JVM把class文件加载到内存,并对数据进行校验,解析和初始化,最形成JVM可以直接使用的JAVA类型的过程。加载-->链接(-->验证-->准备-->解析)-->初始化-->使用-->卸载1.加载将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class对象,作为方法区类原创 2015-03-14 23:14:29 · 3131 阅读 · 1 评论 -
Java学习之动态编译-动态脚本引擎-脚本引擎执行javascript代码
脚本引擎执行javascript代码JAVA脚本引擎是从JDK6.0之后添加的新功能。脚本引擎介绍:使得JAVA应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在JAVA平台上调用各种脚本语言的目的Java脚本API是连通Java平台和脚本语言的桥梁可以把一些复杂异变的业务逻辑交给脚本语言处理,这又大大提高了开发效率。获得脚本引擎对象:ScriptEn原创 2015-03-14 22:44:58 · 3036 阅读 · 1 评论 -
Java学习之-动态编译-DynamicCompile_反射调用
一、动态编译JAVA6.0引入了动态编译机制。动态编译的应用场景: 可以做一个浏览器端编写java代码,上传服务器编译和运行的在线评测系统,需要进行安全检查。 服务器动态加载某些类文件进行编译二、动态编译的两种做法:1.通过Runtime调用javac,启动新的进程去操作(jdk5.0以前) Runtime run=Runtime.getRuntime(原创 2015-03-14 22:37:48 · 6802 阅读 · 0 评论 -
java学习之IO原理与概念-2015-2-27
一、概念流:流动、流向 从一端移动到另一端 源头与目的地程序 与 文件|数组|网络连接|数据库, 以程序为中心二、IO流分类1、流向:输入流与输出流2、数据:字节流:二进制,可以一切文件 包括 纯文本 doc 音频,视频等字符流:文本文件,只能处理纯文本3.功能:节点:包括源头处理:增强功能,提供性能。三、字符流与字节流(重点)与文件1、字节流输入流:原创 2015-02-27 23:07:31 · 359 阅读 · 0 评论 -
Java学习之字节流-文件分割合并--2015-2-28
文件的分割合并public class Test { private static int size=1024; public static void main(String[] args) throws Exception { //切割的文件 File srcfile = new File("D:/workspace/Test/脸萌.JPG"); //切割文件的存放目录原创 2015-02-28 11:49:53 · 3512 阅读 · 0 评论 -
Java学习之处理流中的转换流--2015-03-02
处理流:增强功能、提供性能,节点流之上二、转换流:字节流 转为字符流 处理乱码(编码集,解码集)1、编码与解码概念编码: 字符 --编码 -》二进制解码: 二进制 --解码 --》 字符2、乱码1. 编码与解码的字符集不统一2.字节缺少,长度丢失public class Convert01 { public static void main(St原创 2015-03-02 22:42:14 · 508 阅读 · 0 评论 -
Java学习之装饰模式
装饰设计模式 就是个扩音器类与类之间的关系1、依赖:形参|局部变量2、关联:属性聚合:属性整体与部分不一致的生命周期 : 人与手组合:属性整体与部分一直的生命周期3、继承:父子类关系4、实现:接口与实现类关系class Voice{ private int voice=10; public Voice(){ } public Voic原创 2015-03-04 22:07:42 · 449 阅读 · 0 评论 -
Java学习之内存分析和String对象
最近遇到一个String的问题,首先我们需要了解一下内存的机制是什么,才能了解String对象是如何加载的。栈:是存放栈针,比如对象引用,变量数据,方法返回值等等。堆:分为两块,一个是堆内存,一个是堆中的方法区堆:存放new出来的对象,包括对象的实例,GC等等方法区:静态变量,静态方法块,常量池(字符串常量,float,int)等和 代码。初始化的时候把静态的代码合原创 2015-03-19 10:25:00 · 517 阅读 · 0 评论 -
java学习之HTTP协议介绍
HTTP协议详解HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:原创 2015-03-19 12:10:28 · 699 阅读 · 0 评论 -
Java学习之字节流--2015-3-02
一、节点流1.字节数组 字节 节点流输入流: ByteArrayInputStream read(byte[] b,int off,int len) + close();输出流: ByteArrayOutputStream write(byte[] b,int off,int len) + toByteArray() 不要使用多态public class Te原创 2015-03-02 22:51:44 · 377 阅读 · 0 评论