自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 将两个mat文件合并为一个mat文件

【题目】:将两个mat文件(X.mat,Y.mat)合并为一个mat文件>load('X.mat');%如果文件不在当前文件夹下,则load('文件路径\X.mat');>load('Y.mat');>save('XY.mat');...

2020-04-09 01:58:15 6554 3

原创 Matlab打开.mat文件

【要求】打开未知的.mat文件【操作】1.加载文件:load('文件路径\文件名.mat');2.查看文件属性》whos查看文件所含变量以及属性》who查看文件所含变量【举例】...

2020-04-07 23:35:51 4031 2

原创 DBUtils概述

【一】概述DBUtils是java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。Dbutils三个核心功能介绍QueryRunner中提供对sql语句操作的API. ResultSetHandler接口,用于定义select操作后,怎样封装结果集. DbUtils类,它就是一个工具类,定义了关闭资源与事务处理...

2019-11-14 17:57:12 435

原创 DAO设计模式

【一】DAO简介DAO(数据访问对象,DataAccessObject)是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来,包含了数据的增删改查操作。DAO 模式提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离对上层提供面向对象的数据访问接口。从以上 DAO 模式使用可以看出,DAO 模式的优势就在于它实现了两次隔离。...

2019-11-12 20:24:28 549

原创 JDBC数据库连接池:dbcp和c3p0

【一】为什么要有连接池传统的模式基本为:在主程序中建立数据库连接 进行sql操作 断开数据库连接这种模式开发存在的问题为:传统的方式会消耗大量的资源和时间。数据库的连接资源并没有得到很好的重复利用。对于每一次数据库的连接,使用完后都得断开。开发不能控制被创建的连接对象数,系统资源会被毫无顾忌的分配出去,如果连接过多,也可能导致内存泄漏,服务器崩溃。为了解决传统开发中...

2019-11-12 20:24:14 315

原创 陌陌、BIGO、比亚迪、好未来、同程艺龙、去哪儿、联通西安研究院、华为、海康威视java开发面试经验

【陌陌】这个面试比较早,是大三的时候暑期面的提前批,为了试水。。。面完后才知道自己差了多少。。。1,自我介绍2,简述面向对象的三大特性3,list,set,map4,arraylist和linkedlist区别5.hashmap和hashtable6,ConcurrentHashMap7,jdbc的运行机制介绍一下8.LINUX操作系统的命令,简述几个,如果想知道某一个文件...

2019-10-08 12:44:07 1858 1

原创 顺序存储二叉树前序、中序、后序

【一】顺序存储二叉树数组存储方式和树的存储方式可以相互转换。要求:1)二叉树的节点,要求以数组的方式来存放2)要求在遍历数组时,仍然可以以前序遍历、中序遍历和后序遍历的方式来完成节点的遍历。特点:顺序二叉树通常只考虑完全二叉树 第n个元素的左子树的下标为2*n+1; 第n个元素的右子树的下标为2*n+2; 第n个元素的父节点为(n-1)/2n:表示二叉树中的第几个元...

2019-09-15 23:25:32 966 2

原创 二叉树:定义、遍历、查询、删除

【一】二叉树二叉树的相关概念满二叉树:如果二叉树的yezi节点都在最后一层,并且节点总数=2^n-1,n为层数完全二叉树:如果二叉树的所有叶子节点都在最后一层或者倒数第二层,而且最后一层的叶子节点在左边连续,倒数第二层的叶子节点在右边连续。【二】为什么提出二叉树数组 优点:通过下标形式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果检...

2019-09-15 16:14:56 295 1

原创 哈希表

【一】哈希表他通过把关键码值映射到表中的一个位置来访问记录,以加快查找的速度。这个映射函数就是散列函数。【二】哈希表的价值相当于一个缓存区,将常用的加入哈希表,减少对数据库的操作。【三】自己写的哈希表import java.util.Scanner;public class HashTableTest { //4.测试 public static vo...

2019-09-13 20:41:52 224

原创 浅谈:时间复杂度、空间复杂度

【时间复杂度】1.时间频度(语句频度):一个算法中的语句执行的次数。记为T(n) 时间频度的计算特点: 忽略常数项 忽略低次项 忽略系数2.时间复杂度若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常熟,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)...

2019-09-13 12:15:28 482

原创 浅谈---栈的前缀、中缀、后缀表达式

【前缀表达式】前缀表达式(波兰表达式):运算符位于操作数之前;eg:(3+4)*5-6 - * + 3 4 5 61.从右至左扫描,将6,5,4,3压入堆栈;2.遇到+运算符,因此弹出3和4,计算3+4的值,得7,再将7入栈;3.接下来是*运算符,因此弹出7和5,计算7*5=35,将35入栈;4.最后是-运算符,计算35-6的值,即29,由此得到结果。【中缀表达式】中缀表达式...

2019-09-13 10:26:07 554

原创 栈实现简易计算功能

【一】栈实现计算功能思想1.首先定义两个栈,数据栈numStack、符号栈operStack2.如果扫描到的是一个数字就存入numStack中3.如果扫描到的是一个符号如果符号栈为空,直接加入符号; 如果操作的符号优先级小于等于符号栈中的符号,从符号栈中pop出一个符号,再从数据栈中pop出两个数据,进行运算并将运算结果存入数据栈中; 如果操作的符号优先级大于栈中的符号,直接存储...

2019-09-12 18:30:11 268

原创 Stack(栈)

【一】Stack(栈)特点:它是一个先进后出的有序列表 允许插入和删除的一端为栈顶(top),另一端为栈底(bottom) 出栈pop,入栈push数组模拟栈1.判断栈是否为空2.判断栈是否已满3.入栈4.出栈【二】代码实现import java.util.Scanner;public class StactTest2 { public static...

2019-09-12 01:18:41 311

原创 环形单链表

【一】环形单链表单项环形链表解决约瑟夫环1.定义节点2.创建环形链表3.遍历环形链表4.环形链表添加节点【二】环形单链表的图示【三】代码实现public class LinkedListDemo { public static void main(String[] args) { CirLinkedList cll=new CirLinkedList();...

2019-09-11 21:25:53 362

原创 双向链表

【一】双向链表单向链表,查找的只能是一个方向,而双向链表可以向前或向后查找。单向链表不能自我删除,需要靠辅助节点;而双向链表可以自我删除双向链表中的节点pre data nextpre指向前一个节点的地址data存储当前节点的数据next指向下一个节点的地址【二】代码实现实现功能:1.遍历双向链表 双向链表的遍历和单链表一样,只是可以向前查找,向后查找。...

2019-09-06 13:22:58 194

原创 单链表

【一】单链表特点1.存储方式为:节点,节点包含data域和next域,data域用于存储数据,next域用于存储下一个节点对应的地址。2.链表的各个节点不一定是连续存储的。3.链表分为带头结点的链表和没有头结点的链表。【二】单链表的功能实现功能列表:1.添加节点2.插入节点3.修改节点4.删除节点5.遍历元素6.返回倒数第K个节点获取到单链表中的节点个数,不统计...

2019-09-05 11:01:06 250

原创 数组实现队列【二】

【一】实现思路基于上一篇文档数组实现队列【一】加以改进,将浪费掉的空间用起来。改进:front头指针和rear尾指针的默认值为0,头指针指向头元素,尾指针指向尾元素的下一个位置; 将数组最大长度的最后一个位置queue[maxSize-1]预留出来; 判断队列为空的条件:rear==front; 判断队列已满的条件:(rear+1)%maxSize==front; 队列的有效个...

2019-09-04 23:12:06 150

原创 数组实现队列【一】

【一】思路队列的思想为-----先进先出初始化:定义头指针尾指针,队列最大长度,头指针指向队列第一个数据的前一个位置;尾指针指向最后一个元素,默认值都为-1; 判断队列是否为空,当尾指针与头指针相等时,队列为空; 判断队列是否已满,当尾指针与队列最大长度-1相等,队列已满; 添加数据:当添加元素的时候,需要从队列尾部添加,所以尾指针向后加一; 取出数据:当取出元素的时候,需要从队列...

2019-09-04 18:27:53 202

原创 Ajax详述

【一】Ajax1.ajax被认为是异步JS和XML的缩写(Asynchronous JavaScript and XML)。现在,允许浏览器与服务器通信无须刷新当前页面的技术叫做Ajax。2.WEB传统模型与Ajax模型WEB的传统模型:客户端向服务器发送一个请求,服务器返回整个页面。 Ajax的模型是:数据在客户端与服务器之间独立传输。服务器不再返回整个页面。3.XMLHttp...

2019-09-04 11:28:05 302

原创 java8新特性【三】:Stream API理论、Optional类

【六】Stream API理论Java8中最重要的两个改变:Lambda表达式和Stream APIStream API真正的将函数式编程风格引入到Java中,使得代码高效率、干净、简洁使用Stream API对集合数据进行操作就类似于使用SQL执行对数据库的查询。Stream注意点:Stream自己不会存储元素Stream不会改变源对象。相反,他们会返回一个持有结果的心得Str...

2019-09-03 10:26:56 228

原创 java8新特性【二】:方法引用、构造器引用、数组引用

【三】方法引用方法引用:方法引用可以看做是Lambda表达式的深层表达,也就是函数式接口的实例。要求:实现接口的抽象方法的参数列表和返回值类型必须与方法引用的方法的参数列表和返回值类型保持一致。格式:使用操作符“::”将类或对象与方法名分隔开使用情况:当要传递Lambda表达式体的操作,已经有实现方法,可以使用方法引用。使用要求:接口中的抽象方法的形参列表和返回值类型与方法引...

2019-09-03 09:15:20 122

原创 Java8新特性【一】:概述、Lambda表达式、函数式接口

概述Java8是自Java5以来最具革命性的版本,为Java语言、编译器、类库、开发工具与JVM带来了大量的新特性。优势:速度更快 代码更少(增加了新的语法:Lambda表达式) 强大的Stream API 便于并行 最大化减少空指针异常:Optional Nashorn引擎,允许在JVM上运行JS应用【一】Lambda表达式1.格式:左边 -> 右边-&g...

2019-09-03 07:57:31 192 1

原创 com.sun.proxy.$Proxy0 cannot be cast to ...

【错误提示】Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to proxy.test.Bank at proxy.test.ProxyTest2.main(ProxyTest2.java:40)【报错代码】package proxy.tes...

2019-09-02 13:00:18 1330

原创 动态代理

【一】动态代理代理分为静态代理和动态代理。1.为什么要采用代理模式?代理模式可以有效的将具体的实现与调用方法进行解耦,通过面向接口进行编码完全将具体的实现隐藏在内部。2.动态代理需解决的问题:如何根据被代理类对象动态创建一个对应的代理类和代理对象 当通过代理对象调用方法的时候,如何动态调用被代理类的同名方法3.动态代理的实现步骤:创建接口和被代理实现类 创建实现In...

2019-09-02 12:07:41 554

原创 静态代理

【一】静态代理1.创建一个接口(JDK代理都是面向接口的)2.创建具体实现类(被代理类)来实现这个接口,具体实现类的方法中需要将接口中定义的方法的业务逻辑功能实现。3.创建一个代理类同样实现这个接口,代理类中的方法只要调用具体类中的对应方法即可,这样我们在需要使用接口中的某个方法的功能时直接调用代理类的方法即可,将具体的实现类隐藏在底层。4.测试说明:代理的一般模式就是...

2019-09-02 09:48:35 137

转载 三次握手、四次挥手

【具体见】https://blog.csdn.net/qq_41819988/article/details/100030495

2019-08-27 18:53:36 143

原创 JDBC详解

【一】JDBC介绍1.JDBC(Java Data Base Connectivity,java数据库连接)是一种执行SQL语句的JavaAPI,可以为多种关系型数据库提供统一访问,它由一组用Java语言编写的类和接口组成。注册驱动:告知JVM是哪一个数据库的驱动 创建连接,创建Connection对象 创建Statement 对象 执行sql语句(执行增删改或查询) 关闭释放资源...

2019-08-19 23:28:12 518

原创 反射机制

【一】反射机制Java反射机制是在运行的状态,对于任意一个类(.class文件),都能够知道这个类的所有属性和方法。对于任意一个对象都能够调用它的任意一个方法和属性。这种动态获取信息以及动态调用对象的方法的功能称为Java语言的反射机制。反射机制应用程序对外提供接口(功能扩展),外部程序实现接口。 将外部程序的配置信息写入web.xml中 用已有的应用程序读取配置文件web.xm...

2019-08-16 22:44:20 898

原创 网络编程:域名解析

【举例】www.haha.com想要将主机名翻译成IP地址,需要域名解析服务器DNS。【图例】第一步:客户机在本地映射表(C:\windows\systems\drivers\exr\host) 中找,如果存在,直接返回本地映射表中的IP地址;如果不存在,则走第二步第二步:客户机在域名解析服务器DNS中找映射关系,找到映射关系后,返回IP地址第三步:根据IP地址找到网页...

2019-08-13 21:47:35 519

原创 网络编程:TCP实现客户端并发登录

【需求】:TCP实现客户端并发登录1.客户端通过键盘录入用户名2.服务端对用户名进行校验:如果该用户存在,服务端显示“XXX,已登录”,并在客户端显示“XXX,欢迎登录”如果该用户不存在,服务端显示“XXX,尝试登录”,并在客户端显示“XXX,该用户不存在”3.每个用户最多登录三次【代码】:import java.io.*;import java.net.*;class...

2019-08-11 17:31:07 510

原创 网络编程:TCP上传图片,多个的客户端给同一个服务端上传

【需求】:TCP上传图片,多个的客户端给同一个服务端上传【代码】:import java.io.*;import java.net.*;class Client{ public static void main(String[] args) throws Exception { if(args.length!=1){ System.out.println("请选择一...

2019-08-10 12:25:27 315

原创 网络编程:TCP上传图片

【需求】:TCP上传图片【代码一】:/*TCP发送图片D:\\WorkSpace\\测试.png*/import java.io.*;import java.net.*;//客户端class PicClient{ public static void main(String[] args) throws Exception { Socket s=new Soc...

2019-08-09 18:11:23 258

原创 网络编程:TCP将一个文件从客户端发送至服务端并保存

【需求】:将一个文件从客户端发送至服务端【难点】:结束标志:方式一:在末尾处打印自定义结束标志“over”,但是存在缺陷,可能复制的文本中存在该字符串。方式二:时间戳(但是比较繁琐)。方式三:直接调用方法shutdownOutput();相当于给流中加入一个结束标记。【代码】:import java.io.*;import java.net.*;class Copy...

2019-08-07 00:17:44 615

原创 网络编程:TCP实现文本转换器

【需求】:建立一个文本转换服务器客户端给服务端发送文本,服务端会转成大写再返回给客户端。 客户端可以不断地进行文本转换,当客户端输入over时,转换结束。【代码实现】:import java.io.*;import java.net.*;class TcpClient3{ public static void main(String[] args) throws Exc...

2019-08-06 18:29:20 456

原创 网络编程练习:聊天

【需求】:实现双方聊天(收数据和发数据)【技术】:网络编程、IO流、多线程【代码】:/*需求:实现双方聊天(收数据和发数据)所需技术:网络编程、IO流、多线程*/import java.net.*;import java.io.*;class SendInfo implements Runnable{ private DatagramSocket ds; publi...

2019-07-23 17:58:23 277 1

原创 网络编程:Udp消息发送与接受

【Udp的发送端与接收端】发送端:建立UdpSocket服务 提供数据,并将数据封装到数据包中 通过socket服务的发送功能,将数据包发送出去 关闭资源接收端:定义UdpSocket服务 定义一个数据包,因为要存储接收到的字节数据。因为数据包对象中有更多功能可以提取字节数据中的不同数据信息。 通过socket服务的receive方法将收到的数据存入已定义好的数据包中。...

2019-07-23 16:29:44 423

原创 网络编程(概述)

【一】网络编程网络编程三要素(IP、端口、协议)找到对方的IP 数据要发送到对方指定程序上。为了标识这些程序,所以给这些应用程序都用数字进行标识,这个数字被叫做端口(逻辑端口)。 定义通信规则,这个通讯规则称为协议。IP地址:网络中设备的标识。 不易记忆,可用主机名。 本地回环地址:127.0.0.1 主机名...

2019-07-22 19:41:50 259

原创 GUI练习:记事本小程序(打开文件+保存文件)

【一】需求GUI练习:打开文件+保存文件【二】代码import java.awt.*;import java.awt.event.*;import java.io.*;class MenuDemo2{ private Frame f; private MenuBar bar; private Menu fileMenu; private MenuItem openIt...

2019-07-14 20:45:30 734

原创 GUI菜单栏

【一】MenuBar、MenuItem、Menu菜单:MenuBar:类封装绑定到框架的菜单栏的平台概念。Menu:对象是从菜单栏部署的下拉式菜单组件。MenuItem:菜单中的所有项必须属于类 MenuItem 或其子类之一。Menu是MenuItem的子类通过Frame的setMenuBar()方法将MenuBar添加menu为菜单,可以通过add方法添加Menu和Menu...

2019-07-14 16:54:54 579

原创 GUI练习:根据ID查询学生信息

【一】需求查询学生信息:已知stu.txt中有一些的学生信息。根据学生ID号查询学生信息【二】代码import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;class Student{ private String name; private int age; ...

2019-07-14 12:55:09 1197

空空如也

空空如也

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

TA关注的人

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