- 博客(313)
- 收藏
- 关注
原创 计算机网络笔记:TCP的socket通信编程总结
TCP Socket是一种基于Client-Server的编程模型,服务端监听客户端的连接请求,一旦建立连接即可以进行数据传输。对TCP Socket编程分为客户端和服务端,两者关系如下图:一些重要的函数:1、socket函数使用给定的地址族、套接字类型、协议编号(默认为0)来创建套接字。1 socket.socket([family[, type[, proto]]])2 famil...
2020-04-03 18:41:23 244
原创 通过套接字socket获得ip_whois的AS字段信息(代码+相关知识补充)
思路的是通过套接字请求Cymruwhois server(ip为38.229.36.122)的43端口获得相关字段先分享python的代码import socketdef get_as(query_ip): error_as = '' data = '' try: conn = socket.socket(socket.AF_INET, socket....
2020-04-03 18:02:05 449
原创 计算机网络笔记:域名/ip及相互关系知识汇总(思维导图详细解析)
框架:1.ip地址定义:IP规定网络上所有的设备都必须有一个独一无二的IP地址,就好比是邮件上都必须注明收件人地址,邮递员才能将邮件送到。同理,每个IP信息包都必须包含有目的设备的IP地址,信息包才可以正确地送到目的地。ipv4地址由网络地址+主机地址构成ipv4和ipv6:ipv4IPv4是 Internet Protocol version 4 的缩写,表示IP协议的第四个版本...
2020-03-13 16:49:32 2039
原创 一句话总结WEB-INF目录
WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。...
2021-02-07 16:28:12 1172
原创 JPA的分页技术实现:Page与Pageable
例子1.设置倒排序Sort sort = new Sort(Sort.Direction.DESC, "id");2.根据start,size和sort创建分页对象Pageable pageable = new PageRequest(start, size, sort);3.CategoryDAO根据这个分页对象获取结果page.Page<Category> page =categoryDAO.findAll(pageable);Pageable 是Spring Data
2021-02-07 15:24:31 3940
原创 两句话总结Spring Boot Jpa中JpaRepository 中类型参数
1.将实体类型和实体类的id类型作为类型参数2.接口必须继承类型参数化为实体类型和实体类中的Id类型的Repository
2021-02-07 15:10:38 1881
原创 jsp 中${ } 是什么意思?
jsp标签中的 ${表达式}用来输出或者计bai算一个表达式的内容:它的目的是baidu获得zhi{}中那dao些指定的对象的zhuan值,比如参数或者对象的值。比如3+5,那么便会在页面上输出8在比如{3+5},那么便会在页面上输出8在比如3+5,那么便会在页面上输出8在比如{sessionScope.username},那么便会获取Session里面的username的值,它不能在代码块也就是<% %>里使用。例子${user.name}<====>User user =
2021-02-07 00:59:19 4232
原创 Spring MVC 数据绑定
什么是数据绑定?例子1:@ResponseBody 注解直接返回字符串到客户端,不需要返回 jsp 页面。@RequestMapping(value="/baseType")@ResponseBodypublic String baseType(int id){ return "id:"+id;}测试,HTTP 请求不带参数,直接报 500 错误。可选的参数“id”不能转为 null,因为我们都知道,基本数据类型不能赋值 null。测试:参数类型为字符串。400
2021-02-04 16:06:02 70
原创 java spring技术——实现一个简单的IOC框架
第一步:编写xml文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
2021-01-29 18:38:28 102
原创 java反射知识总结
1.获取类对象获取类对象的方法例子输出在student中加一个静态代码块除了 Class pClass2=Student.class不会静态初始化2.对属性进行反射操作1.先拿到对象2.对象的类对象来获得字段3.通过set函数来设置字段的值私有的(private)字段只能通过公共方法访问,如Setter、Getter,具体指下面代码的 public String getName() ,public void setName(String name) 等方法。同理,使用反
2021-01-29 16:27:03 127 1
原创 Spring使用注解配置AOP
1.使用@Component(“s”) 注解ProductService 类说明是一个归IOC管理的bean,并且命名为s2.@Aspect 注解表示这是一个切面@Component 表示这是一个bean,由Spring进行管理@Around(value = “execution(* com.how2java.service.ProductService.*(…))”) 表示对com.how2java.service.ProductService 这个类中的所有方法进行切面操作3.<
2021-01-29 00:47:34 124
原创 Spring—AOP的术语的解释和例子
术语:返回类型可以省略,用空格来表示用两个点表示参数列表例子一个完整的AOP的例子切面中表示使用loggerAspect的log方法来增强功能 ,是环绕通知(表示在前后分别都增强了)其代码如下:其中方法如下:...
2021-01-28 22:16:05 170
原创 Spring IOC基于注解的自动装载
程序如图依次如下application.xml测试代码运行截图改为注解base-package=“com.how2java.pojo” 表示将 “com.how2java.pojo” 下所有子包的类全部扫描到 IoC 容器中,一步可将所有参与项目的类完成扫描注入。注意:配置文件需要引入 context 命名空间。做了一处改动:在类名处添加 @Repository 注解,表示该类是数据接口层。在类名处添加 @Service 注解,表示该类是业务层;userDAO 属
2021-01-27 17:44:53 234
原创 Spring IOC通过自动的方式完成依赖注入
使用自动的方式依赖注入这是pojo类的属性会自动加载car将car注入的原理注意:通过 property 标签手动进行 car 的注入优先级更高,若两种方式同时配置,以 property 的配置为准。但是在有多个同类型的时候会报错因为id是唯一的但是类型是不唯一的,car可以对应很多的bean...
2021-01-27 17:08:49 80
原创 Spring IOC 工厂方法创建对象
pojo类静态工厂类注意是在静态代码块中加入hashmapfactory-method 指向静态方法;constructor-arg 的 value 属性为调用静态方法所传的参数。测试函数运行结果实例工厂方法实例工厂方法创建 car 对象,必须先实例化工厂对象,因为调用的是非静态方法,必须通过对象调用,不能直接通过类来调用,所以 spring.xml 中需要先配置工厂 bean,再配置 Car bean(相当于在xml中先创建对象再调用方法)测试函数:运行结果...
2021-01-27 15:20:38 85
原创 Spring的IOC的基本原理和加载bean方法
实现步骤:bean标签无参构造方法加载:1.通过id加载第一步:加载 spring.xml 配置文件,生成 ApplicationContext 对象。第二步:调用 ApplicationContext 的 getBean 方法获取对象,参数为配置文件中的 id 值。程序在加载 spring.xml 时创建 stu 对象,通过反射机制调用无参构造函数,所有要求交给 IoC 容器管理的类必须有无参构造函数。第三步:Spring 通过调用每个属性的 setter 方法来完成属性的赋值,因此实
2021-01-27 13:59:02 281
原创 Spring外部命名空间
注意pojo中所有的属性都要有setter和getter方法通过命名空间的办法可以对属性进行赋值如果报错那么是没有添加上这一句
2021-01-27 13:23:04 70
原创 Spring读取外部的资源
jdbc.propertiesdriverName = com.mysql.jdbc.Driverurl = jdbc:mysql://localhost:3306/myTest?useUnicode=true&characterEncoding=UTF-8user = rootpwd = root第一步:导入外部资源文件。使用 context:property-placeholder 标签,需要导入 context 命名空间。<!-- 导入外部的资源文件 -->&l
2021-01-27 13:04:59 99
原创 Spring中bean的之间的关系(继承,依赖)
注意是在对象的层面,不存在方法的继承例子输出stu2继承了stu3重写name输出继承的原则依赖关系例子xml配置两个pojo:输出按照xml中bean配置的先后顺序进行加载添加依赖关系,depends-on进行添加之后的加载顺序被依赖的类先进行加载...
2021-01-27 11:49:14 277
原创 Spring的bean的scope
例子xml文件如下student实体类测试类输出false修改之后输出true因为scope不写默认的为 singleton
2021-01-26 19:49:27 68 1
原创 剑指 Offer 03. 数组中重复的数字
题目解法1数组排序,之后判断相邻的是否相等时间复杂度 O(nlgn)空间复杂度 O(1)解法2用HashSet的特性来判断是否重复利用有重复的加入set的时候add()函数返回false的特性时间复杂度O(n)空间复杂度O(n)解法3不借助辅助空间,阅读题目发现一个重要的条件意味着这个数组可以自己做为一个HashSet来使用,num[i]对应的就应该是i所以先将num[i]中的数换到自己应该到的位置上去对数组的每一个位置进行遍历交换,一直到num[i]和i对应为止如果
2021-01-20 20:55:27 64
原创 SQL语句总结——DML的总结(增,删,改)
DML数据库操纵语言1.插入用法:例子插入一批数据2.更新操作例子:3.删除操作一般和子查询一起使用,如下:
2021-01-11 12:43:57 174
原创 java网络编程——UDP编程
1.发送端编程核心:构造数据包DatagramPacket 这里面的参数是数据,数据要发送的部分(这里是0到data.length),目的ip,端口号。之后使用创建的DatagramPacket来进行发送2.接收端编程将其receive在一个packet中,之后将其输出这是它的构造器offset是偏移量,length读的数据的长度和TCP编程的区别:TCP先开客户端再开服务器端会报错,这里会显示拒绝连接。UDP不会,只是收不到数据。所以说UDP不管是否收到,只管发送。...
2020-12-27 21:04:14 69
原创 java网络编程——TCP(套接字实现客户端服务器端通信)
客户端1.创建套接字,绑定ip和端口。2.创建输出流(socket.getOutputStream())。3.开始写出数据。服务器端1.这里创建的是Serversocket,这里只需要绑定端口。2.通过Serversocket来获得socket,也就是客户端的套接字。3.通过套接字得到输入流。4.将其写入ByteArrayOutputStream。5.将ByteArrayOutputStream转化为字符串输出。先运行服务器端,再运行客户端,之后再客户端的控制界面会有结果如下:
2020-12-26 20:34:21 700
原创 Java i/o总结——对象流
序列化:反序列化:字符串已经实现了serializablejava对象能序列化的要求:什么抽象方法也没有,这个是标识接口,标识着凡是实现这个接口的类,都是可序列化的。例子写入:读取:将文件输入输出流包在里面,使用readObject和writeObject方法读取。...
2020-12-24 17:05:56 49 1
原创 常用字符集总结(utf-8,unicode,ASCII,GBK)
几种常见的编码:1.美国标准ASCII码8位,其中1位没有用,只能表示128种情况2.ISO8859欧洲,拉丁用的,因为美国的128种不够全面,这时候需要对其进行扩展3.中国用的GB2312,GBKGBK是GB2312的升级版本,这里最多两个字符来表示一个字符。这里的问题是底层如何知道一个字节到底是单独表示字符还是两个字节加在一起表示字符。这里是开头为0表示单独表示,开头为1表示和后面的一起表示。4.Unicode融合了多国的编码方式,为所有国家字符分配了一个编码。所有文字都用2个字节表示
2020-12-24 14:40:28 647
原创 java I/O——转换流
1.转换流的概念转换流,实现字节流和字符流的转换2.转换流的解码,编码解码就是看不懂的转换为看得懂的编码就是看得到的转换为看不懂的例子输入输出综合运用输入和输出流的例子:...
2020-12-24 14:07:06 52
原创 java-I/O缓冲流总结
1.缓冲流属于处理流,套在现有的流的基础上作用:加快速度为什么能加快速度?内部有缓冲区,减少了读的次数在缓冲流中有一个buffer_size,大小为8192构造器这时候会构造一个缓冲区,大小为8192原理:先将读取的放到缓冲区里面,等到缓冲区满了在往2.缓冲流的案例要点: 将输入输出流包在缓冲流里,之后使用缓冲流来读写关闭的时候,只要关闭缓冲流就可以了。输出流 flushBuffer(),刷新缓冲区,当到达8192的时候自动的刷新,将缓冲区的数据放出去,也可以调用flush
2020-12-24 11:25:29 135
原创 Java-i/o总结——字节流
1.一些基础的知识英文字符是一个字节存的,中文字符在utf-8是3个字节存的。所以有的时候该用字符流的时候用字节流,中文可能会乱码2.用字节流实现图片的复制相较于字符流,只有两个变化1.将FileReader和FileInputStream改成FileWriter和FileOutputstream2.将缓冲的数组改为byte单位的...
2020-12-23 22:06:14 54
原创 JAVA的I/O的总结——字符流(FileReader/FileWriter)
1.流的分类,三种分类方式2.FileReader例子:hello.txt代码注意:1.用file初始化FileRead2.用read函数的返回值判断是否到了底部3.将read操作循环(相当于迭代器的遍历)4.将流关闭(垃圾回收不能关闭套接字,输入输出流)加上异常处理后的细节:运行结果总结:1.有异常的地方都需要包起来2.将流的关闭操作放到finally里面3.记得判断fr是否为空,为空将它关闭显然不行。将上一个案例进行升级,用read的重载方法,每次多读几个字符。
2020-12-23 15:52:04 81
原创 编译原理知识点总结——素短语、短语、直接短语、句柄的概念
素短语:至少含有一个终结符,并且除它自身之外不再含任何更小的素短语短语和直接短语的概念:一个句型的语法树中任一子树叶结点所组成的符号串都是该句型的短语,当子树中不包含其他更小的子树时,该子数叶结点所组成的字符串就是该句型的直接(简单)短语。句柄的概念:一个句型的最左直接短语汇称为该句型的句柄例子1:E->T|E+TT->F|T*FF-> (E) | i给出句型T*F+i的最右推导。1.首先通过最右推导(也叫规范推导):E=>E+T=>E+F=>E+i=&
2020-12-17 09:37:20 2780 1
原创 编译原理知识点总结——SDD
文法属性的分类:继承属性例子,带有继承属性的SDD,这里addtype是副作用。计算属性的顺序,拓扑序列:这里的副作用设置一个虚属性存在环的情况,这样就不能得到一个拓扑排序。...
2020-12-16 11:21:15 2775
原创 编译原理知识点总结(哈工大)——LR0分析表构造算法
CLOSUSER()函数,计算项目的闭包的goto函数计算状态集构造分析表第一个项目要求归约,第二个项目要求移入,这就是移入归约冲突归约规约冲突,不知道用哪个项目进行归约
2020-12-15 15:38:52 620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人