自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 Java学习----前端7

//实际上是将name定义为全局属性//输出的应该是window对象}bb();//证明name称为全局属性//实际输出和window.name一致

2022-12-01 21:45:00 427 1

原创 Java学习----前端6

生成响应信息响应头重定向新地址");重定向的地址要求:重定向的目标地址可以不是当前应用范围内的地址;正确允许在重定向的地址中包含额外请求参数id=999");正确的地址。但是由于重定向是重新发起请求,所以不会共享request,以前的提交数据全部丢失由于不共享request,所以不能依赖于request传递数据重定向的请求和当前请求的方法无关,新地址请求是Get输出流向response的输出流中写出数据,就是向客户端浏览器发送的数据。

2022-11-30 19:50:44 249

原创 Java学习----前端5

Servlet是一个用于扩展服务器端功能的服务器端组件技术运行在服务器端,所以调用执行是由服务器负责在web.xml中需要进行配置,就是将servlet和一个请求地址建立对应关系,当浏览器对地址发起请求时,服务器则按照规则调用serlvet类中的方法服务器端的组件技术直接或者间接的实现Servlet接口用于扩展服务器端功能,可以实现动态网页的开发1、定义类实现Servlet接口2、在web.xml中针对servlet类进行配置,将servlet。

2022-11-29 20:55:14 433

原创 Java学习----前端4

函数最大作用就是提供代码复用,将需要重复使用的代码定义为函数,提供方便的复用策略。定义方法1:命名函数function 函数名称(形式参数){代码块;}调用方法 函数名称(实际参数)定义方法2:匿名函数 function(形式参数) {代码块}‘);}调用方法为 f('yanjun');定义方法3:可以使用Function类定义匿名函数基础语法 var f=new Function('name形式参数名称','document.writeln("定义的函数 体");");');

2022-11-24 20:33:09 524

原创 Java学习----前端3

默认html5为每个校验规则提供相应的报错提示,这些错误提示信息是固定的。html5为表单控件提供 setCustomValidity()方法实现用户自定义报错提示信息。但是注意浏览器对自定义错误提示的支持并不 是很理想,可能会有页面需要刷新一次的问题。

2022-11-16 17:49:02 525

原创 Java学习----前端2

JavaEEJavaEE提供了一个完整、全面、集成的堆栈来帮助你构建企业和Web应用程序该版本特新主要集中在以下3个方面:1、提供HTML5动态可伸缩应用程序使用WebSocket降低数据交换延迟,从而减少响应时间;支持标准JSON,简化便携式应用的数据解析;提供异步、可扩展、高性能的RESTful服务。2、提高开发人员的生产力1)通过一个粘性集成平台来简化应用程序架构。2)通过减少样板代码和广泛使用注解来提高效率。3)通过对标准的。

2022-11-02 22:00:00 282

原创 Java学习----前端1

Web应用开发Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程序。用户只需要有浏览器即可,不需要再安装其他软件。应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。Web应用程序首先是应用程序,和用标准的程序语言,如C、C++

2022-11-01 20:08:07 663

原创 Java学习----数据库8

表和表之间的关系数据库设计方法:试凑法、规范化法和CAD法数据库设计工具:在实际开发中,一个项目经常会涉及很多方面的数据。例如产品和类目商品编号商品名称价格类别名称等级1哇哈哈2.5饮料31茅台3000饮料31Java从入门到放弃50.5书籍2数据冗余和外键数据冗余:类别信息重复数据冗余导致的问题:空间浪费、增加异常、删除异常和修改异常解决方案:引入外键约束产品表商品编号商品名称商品价格所属类别编号1哇哈哈2.512茅台300013Java从入门到放弃50.5。

2022-10-10 20:30:00 197

原创 Java学习----数据库7

函数函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率 ,又提高了可维护性。在SQL中也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地 提高用户对数据库的管理效率。从函数定义的角度出发,可以将函数分成内置函数和自定义函数。在SQL语言中,同样也包括内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是根据自己的需要编写的函数说明在使用SQL。

2022-10-09 20:02:53 295

原创 Java学习----数据库6

视图一方面可以帮助使用表的一部分而不是表的所有,另一方面也可以针对不同的用户制定不同的查询视图。比如针对公司的销售人员,只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。

2022-10-08 19:48:43 70

原创 Java学习----数据库

模糊查询:select * from tb_emp where name like '%龙%'问题:sql="select * from tb_emp where name like '%?%'";报错解决方案1:";preparedStatement.setString(1,"%龙%");like 'abc' 和 ='abc'从查询结果上来说,没有区别如果使用模糊查询则传入参数包含通配符;

2022-09-29 20:24:51 162

原创 Java学习----大对象Lob字段的处理

大对象Lob字段的处理Lob实际上有2种类型,分别是用于存储大文本的字段Clob和存储二进制大量数据的字段Blob。不同的数据库处理方式略有区别,大字段一般都是采用流的方式进行处理由于大字段类型存储的数据较多,一般针对lob字段会采用分表存储的方式实现需求:存储学生信息,要求存储学生的照片将学生照片存储在文件系统中,实际数据中只存储照片的路径如果图片要求加密,存储在文件系统中则不合理可以利用DBMS提供的压缩加密功能将数据存储在数据表如果具体存储?

2022-09-28 19:48:12 403

原创 Java学习----数据库4

MySQL运算符MySQL运算符主要包括3大类:比较运算符、算术运算符、逻辑运算符算术运算符加+、减-、乘*、除/、求余%mysql>select1+2;

2022-09-23 19:44:27 50

原创 Java学习----数据库3

DQL样例表tb_users(idbigintusernamevarchar(20)notnull,passwordvarchar(24)notnull,birthdate,sexbooleandefault1,8,2)语法:select目标表达式>,,...from表名称或者视图名称,表名称或者视图名称,...--在MySQL中允许查询语句中没有fromwhere条件语句group by。

2022-09-22 20:11:31 66

原创 Java学习----数据库2

SQL注释一般在编写sql脚本文件时需要添加合理的注释信息单行注释select 1;#说明信息-- 说明信息多行注释/*开头*/收尾数据类型存储数据是处理数据的第一步。只有正确地把数据存储起来,才能进行有效的处理和分析。否则只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢?在MySQL中,一个完整的数据存储过程总共有4步,分别是创建数据库、确认字段、创建数据表、插入数据。要先创建一个数据库,而不是直接创建数据表呢?

2022-09-21 20:26:48 101

原创 Java学习----数据库

MySQL是由SQL接口、解析器、优化器、缓存、存储引擎1、客户端向MySQL服务器发送一个SQL语句2、服务器首先检查缓存,如果命中则立刻返回存储在缓存中的结果,否则下一步3、服务器首先进行SQL语句解析、预处理,再由优化器生成对应的执行计划4、MySQL服务器根据执行计划,调用存储引擎的API执行查询5、最后将查询结果返回客户端,同时缓存查询结果用于定义数据库对象的操作语句数据库操作创建操作注意:DATABASE 不能改名。

2022-09-20 22:15:50 415

原创 Java学习----UDP和反射

1、使用DatagramSocket()创建一个数据包套接字。2、使用DatagramPacket(byte[]buf, int offset, int length, InetAddress address, int port)创建要发送的数据包。3、使用DatagramSocket类的send()方法数据包。

2022-09-15 20:13:07 177

原创 Java学习----习题总结

因为断开需要两边都断!!!由于 TCP 的半关闭(half-close)特性,TCP 提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后进入半关闭状态。当另一方也没有数据再发送的时候,则发出连接释放通知,对方确认后就完全关闭了TCP连接通俗的来说,两次握手就可以释放一端到另一端的 TCP 连接,完全释放连接一共需要四次握手。

2022-09-14 19:43:07 855

原创 Java学习----Java网络编程

Socket套接字,就是两台主机之间逻辑连接的端点。TPC协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。Socket本质上就是一组接口,是对TCP/IP协议的封装和应用(程序员层面上)Socket编程主要涉及到客户端和服务器端两个方面,首先是在服务器端创建一个服务器套接字ServerSocket,并把它附加到一个端口上,服务器从这个端口监听连接。

2022-09-13 20:04:52 977

原创 Java学习----线程池

newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收重用时则新建线程。}工作线程的创建数量几乎没有限制(其实也有限制的,数目为Interger.MAX_VALUE), 这样可灵活的往线程池中添加线程。如果长时间没有往线程池中提交任务,即如果工作线程空闲了指定的时间(默认为1分钟),则该工作线程将自动终止。终止后,如果你又提交了新的任务,则线程池重新创建一个工作线程。

2022-09-09 22:30:00 1198

原创 Java学习----JUC包和信号量

JUC是java.util.concurrent包的简称,在Java5.0添加,目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题!1、同步辅助类1)CountDownLatch闭锁是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待2)CyclicBarrier栅栏之所以叫barrier,是因为是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 ,并且在释放等待线程后可以重用。

2022-09-08 20:45:00 289

原创 Java学习----死锁和线程相关的模型

AtomicInteger、AtomicBoolean、AtomicLong、AtomicReference这些原子类型,它们无一例外都采用了基于volatile 关键字 +CAS 算法无锁的操作方式来确保共享数据在多线程操作下的线程安全性。- volatile关键字保证了线程间的可见性,当某线程操作了被volatile关键字修饰的变量,其他线程可以立即看到该共享变量的变化。- CAS算法,即对比交换算法,是由UNSAFE提供的,实质上是通过操作CPU指令来得到保证的。

2022-09-07 20:11:46 106

原创 Java学习----CopyOnWrite和monitor

CopyOnWrite容器即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWrite容器也是一种读写分离的思想,读和写不同的容器。

2022-09-06 20:05:22 65

原创 Java学习----线程整理

线程的生命周期包含5个阶段,包括新建,就绪,运行,阻塞,销毁。新建:就是使用new方法,new出来的线程;就绪:调用的线程的start()方法后,线程处于等待CPU分配资源阶段,谁先抢到CPU资源,谁开始执行;运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run方法定义了线程的操作和功能;阻塞:在运行状态的时候可能因为某些原因导致运行状态的线程变成了阻塞状态。

2022-09-05 19:52:10 123

原创 Java学习----HashMap、Hashtable、LinkedHashMap、TreeMap的区别

1、元素特性:Hashtable中key和value都不能为null;HashMap和LinkedHashMap中key和value可以使用null,两者中key值中null最多只有一个,而value值中null不限;TreeMap中当未实现Comparator接口时,key不可以为null;当实现Comparable接口时若未对null情况进行判断,则key不可以为null2、顺序特性:Hashtable和HashMap具有无序特性;TreeMap时利用红黑树来实现的,默认升序排序;

2022-09-03 20:45:00 308

原创 Java学习----Map接口

表示存储数据时有2个部分key和value,key不允许重复int size();获取key-value个数判断集合中是否包含指定的key值要求key类型需要实现equals和hashCode发方法首先调用hashCode方法获取key对应的hash值,然后当key值和map中的key值相同时才会继续调用equals进行等值判断,否则是false判断集合中是否包含指定的value值要求value类型需要实现equals,对于hashCode没有要求;进行判断时是直接调用equals方法。

2022-09-02 20:49:38 244

原创 Java学习----Set接口

HashSet类直接实现了Set接口, 其底层其实是包装了一个HashMap去实现的以需要存储的数据作为map的key值,以常量PRESENT作为value值HashSet采用HashCode算法来存取集合中的元素,因此具有比较好的读取和查找性能在Person类中添加方法问题在于hashcode值原因在于:向HashSet中添加元素时首先执行的是对象的hashcode值比较,如果两个对象的hashcode值相等时才会继续调用equals方法;如果两个对象的hashcode值不。

2022-09-01 19:59:04 224

原创 Java学习----集合2

无序,不允许重复扩展自Collection接口HashSet的后台有一个HashMap;初始化后台容量;只不过生成一个HashSet的话,系统只提供key的访问;如果有两个Key重复,那么会覆盖之前的;

2022-08-31 20:17:32 175

原创 Java学习----集合1

HashSet:不保证元素的添加顺序,底层采用哈希表算法,查询效率高。判断两个元素是否相等equals方法返回为true要求hashCode值必须相等。即要求存入HashSet中的元素要覆盖equals方法和hashCode方法LinkedHashSet是HashSet的子类,底层采用了哈希表算法以及链表算法,既保证了元素的添加顺序,也保证了查询效率。但是整体性能要低于HashSetTreeSet不保证元素的添加顺序,但是会对集合中的元素进行排序。...

2022-08-30 19:52:25 167

原创 Java学习----习题总结

Collection接口是List接口与Set接口的父类接口,而各个集合的又是List接口与Set接口的实现类。Collection接口 无序 允许重复常见方法:获取集合中的元素个数boolean contains(Object o) 判断集合中是否有指定的对象,有true没有false。元素相等是依赖于equals方法实现的将集合转换为Object类型的数组向集合中新增元素,成功true否则false删除指定的元素o,相等判断使用equals。...

2022-08-29 19:09:34 124

原创 Java学习----Queue队列

/在队尾添加数据//在LinkedList中就是使用add提供的实现//删除队列头部的数据,同时返回删除的数据E poll();//获取队列头部的数据,并不会执行删除操作E peek();}队列主要分为阻塞和非阻塞,有界和无界、单向链表和双向链表之分;...

2022-08-28 21:00:00 1076

原创 Java学习----栈Stack

实现方式为自定义实现的可变长数组,线程安全E push(E item) 把项压入堆栈顶部synchronized E pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象synchronized E peek() 查看堆栈顶部的对象,但不从堆栈中移除它boolean empty() 测试堆栈是否为空synchronized int search(Object o) 返回对象在堆栈中的位置,以 1 为基数。......

2022-08-27 20:00:00 231

原创 Java学习----泛型

泛型是jdk5引入的类型机制,就是将类型参数化。泛型作为一种安全机制而产生泛型机制将类型转换时的类型检查从运行时提前到了编译时,使用泛型编写的代码比杂乱的使用object并在需要时再强制类型转换的机制具有更好的可读性和安全性。泛型在本质上是指类型参数化。所谓类型参数化,是指用来声明数据的类型本身,也是可以改变的,它由实际参数来决定。在一般情况下,实际参数决定了形式参数的值。而类型参数化,则是实际参数的类型决定了形式参数的类型。...

2022-08-26 19:55:42 1657

原创 Java学习----List接口

有序 允许重复。

2022-08-24 17:59:59 181

原创 Java学习----Collection接口

无序 允许重复Iteratoradd新增 remove删除 contains判断集合中是否有指定元素 clear清空集合size元素个数iterator获取迭代器,通过迭代器遍历集合中的所有元素toArray转换为等长的数组。

2022-08-23 23:40:54 77

原创 Java学习----数据结构

程序=算法(解决问题的步骤)+数据结构(合理的持有数据)如何衡量算法的优劣?

2022-08-22 19:10:03 217

原创 Java学习----同步代码块

对于synchronized语句当Java源代码被javac编译成bytecode的时候,会在同步代码块的入口位置和退出位置分别插入monitorenter和monitorexit(2个)字节码指令。

2022-08-19 22:43:38 890

原创 Java学习----习题练习

Java学习----习题练习 模拟银行存取款

2022-08-18 19:54:15 45

原创 Java学习----锁

synchronized同步关键字,用于代码同步处理,解决线程安全问题synchronized同步静态方法 以当前类Class充当锁synchronized同步代码块 自定义对象充当锁 synchronized原理在添加synchronized关键字后就可以保证在一个时刻上只有一个线程在调用某个方法或者代码块,不会出现并发的情形,达到排队执行的效果。在Java中synchronized可保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块(主要是对方法或者代码块中

2022-08-18 19:39:26 107

原创 Java学习----线程2

Thread()//一般用于在Thread类中覆盖定义run方法,可以使用匿名内部类进行定义Thread(Runnable)//使用最多的情况,run方式是由Runnable参数对象提供Thread(String name) //自定义线程名称由于Runnable接口属于函数式接口,所以一般使用简化写法});t.start();...

2022-08-16 20:37:25 117

空空如也

空空如也

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

TA关注的人

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