- 博客(24)
- 收藏
- 关注
原创 在浏览器中输入一个网址它的运行过程是怎样的?
1、查询 DNS,获取域名对应的 IP。(1)检查浏览器缓存、检查本地 hosts 文件是否有这个网址的映射,如果有,就调用这个 IP 地址映射,解析完成。(2)如果没有,则查找本地 DNS 解析器缓存是否有这个网址的映射,如果有,返回映射,解 析完成。(3)如果没有,则查找填写或分配的首选 DNS 服务器,称为本地 DNS 服务器。服务器接收到 查询时: 如果要查询的域名包含在本地配置区域资源中,返回解析结果,查询结束 如果要查询的域名不由本地 DNS 服务器区域解析,但服务器缓存了此网址的映射关系
2020-09-08 21:31:26
811
原创 代码块
执行顺序:静态代码块 > 实例代码块 > 构造方法class Person{ private String name;//实例成员变量 private int age; private String sex; private static int count = 0;//静态成员变量 由类共享数据 方法区 public Person(){ System.out.println("I am Person init()!");
2020-08-02 18:51:40
184
原创 基于Servlet构建的用户管理系统
项目源码,欢迎下载查看:https://github.com/qingzibbb/Java/tree/master/userManager%20%E5%89%AF%E6%9C%AC一、核心功能登录、注册添加用户信息删除某一个用户信息删除选中的用户信息分页查询所有用户信息模糊查询用户信息更新用户信息二、重点简单的Web服务器设计能力Java 操作 MySQL 数据库数据库设计json 的使用强化 HTTP 协议的理解Servlet 的使用Java集合的使用前端知识的简单
2020-07-29 01:06:57
1212
原创 volatile关键字
一、语法修饰属性或者静态属性二、作用1、被volatile修饰的变量都是原子的,主要针对long、double类型变量因为JVM的操作是按32位大小设计的,所以4个字节大小及以下的变量赋值本身就具有原子性2、使被修饰的变量具有可见性3、解决了一定的代码重排序问题,比如:volatile Person p = new Person(…);被修饰后,一定先new,在调用构造方法,最后赋值引用...
2020-07-25 21:21:10
129
原创 GC机制及方法(垃圾处理机制)
一、需要回收的区域JVM内存划分为:本地方法栈、程序计数器、虚拟机栈、方法区、堆区在上面介绍的五个内存区域中,有3个是不需要进行垃圾回收的:本地方法栈、程序计数器、虚拟机栈。因为他们的生命周期是和线程同步的,随着线程的销毁,他们占用的内存会自动释放。所以,只有方法区和堆区需要进行垃圾回收,回收的对象就是那些不存在任何引用的对象。二、如何判断哪些内存需要回收1、引用计数法:每个对象添加到引用计数器,每被引用一次,计数器+1,失去引用,计数器-1,当计数器在一段时间内为0时,即认为该对象可以被回收了。
2020-07-25 12:48:34
2243
原创 SQL查找每科最高分和人
表student,有三个字段name、subject、score,找出某个科目的最高分和人。例表select s1.name,s2.subject,s2.score from student s1 join (select subject ,max(score) score from student group by subject ) s2 on s1.subject=s2.subject and s1.score=s2.score;解析:1、整体结构:Select 条件 from 表1 j
2020-07-24 12:23:37
4133
原创 ArrayList与LinkedList的区别
一、数据结构上顺序表和链表的差异、优缺点、适用范围Arraylist和linkedlist继承自同一接口,都是线性数据结构,Arraylist对应的数据结构是顺序表,linkedlist对应的是双链表。具体实现方面Arraylist的底层是由数组来实现的,所以它具备了数组的一些特征,可以根据下标随机访问,所以查询效率特别高,而在增删方面因为可能需要大量的复制会导致性能低下,linkedlist是双链表结构不支持根据下标随机访问,但是对于增删方面只需要改变某两个节点的指向就行所以效率较高。二、JDK 中
2020-07-23 12:24:02
152
原创 selenium之Webdriver API使用及实例操作
使用(1)元素的定位(必须唯一):id、name、class name、link text、partial link text(<a部分链接内容)、Tag name、xpath(路径)、css selector(2)操作测试的对象:① Click() 点击对象② Send_keys(“名称”) 在对象上模拟按键输入③ Clear 清除对象的内容,如果可以的话④ Submit 清除对象的内容,如果可以的话⑤ Text 用于获取元素的文本信息(3)添加等待:time.sleep() i
2020-07-16 22:52:10
206
原创 python环境配置及python工具包安装
一、python安装的安装和配置(1)安装python安装包,记住安装位置(2)配置环境变量,右击我的电脑—属性:在系统变量找到path添加环境变量:在cmd下运行python,如果显示如下说明安装成功二、安装python的工具包(1)安装pip安装命令是:pip install pip安装后执行 pip show pip,下图为安装成功效果(2)setuptools安装命令是:pip install setuptools安装完成后运行pip show setuptool
2020-07-14 16:52:57
1658
原创 自动化测试之selenium的安装及使用
前提:配置好python环境,并在cmd中安装好了python环境可参考一、在chrome(火狐)浏览器安装selenium IDE插件点击附加组件在搜索框搜索selenium点击selenium IDE点击添加,安装完成此时会显示,点击即可打开二、使用selenium IDE录制脚本点击小图标,选择创建新项目,并给项目起名选择要测试的网页完成要测试的脚本,即进行想要的操作,例如我在搜索框搜索了Jay点击停止按钮,脚本录制结束三、导出文件选择语言和文件存放位置
2020-07-14 16:46:48
373
原创 java单元测试框架及Junit配置
一、前期配置1、创建maven项目2、添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:
2020-07-08 17:46:16
755
原创 简单线程池的实现
要求:没有正式员工和临时员工的区分需要传入员工的编制提交创建的线程阻塞队列内部解决import java.util.ArrayList;import java.util.List;import java.util.concurrent.BlockingQueue;import java.util.concurrent.LinkedBlockingQueue;public class MyThreadPool { private int nThreads;//记录允许创建的最大线程
2020-07-07 23:25:16
120
原创 Maven项目中Plugins和Denpendencies报错处理方法
原因:对应的jar包,maven链接的是外网,由于网络问题没有下载下来解决方法:**先尝试刷新,如不能解决,接下来分开解释。Plugins报错解决方法:(1)找到本地plugins文件夹,手动把jar包文件添加进去(可以找jar包完整的电脑复制过来)(2)此时在项目中进行刷新,解决报错dependencies报错解决方法(1)打开settings(2)找到本地Maven文件夹地址(3)找到依赖所对应的文件夹(名字即为路径)(4)在对应文件下添加jar包(同样可以copy别的
2020-05-29 16:16:15
3968
原创 类和对象详解
一个类生成一个 .class文件—解耦–用哪个调用哪个一、类和对象的初步认识面向对象的语言:java、c++、pythongo语言不是面向过程的语言:C ----处理小问题面向对象的语言:C++ JAVA ----处理问题规定模较大的数据步骤:找对象 创建对象 使用对象OOP语言的三大特征:继承 封装 多态OOP:Object Ori...
2019-10-29 22:10:31
245
原创 JAVA中数组的定义及使用
1、数组:相同类型数据的集合2、数组定义的方式:(1)动态初始化–有newint[] array = new int[ ]{1,2,3,4};数组类型 new产生一个对象定义数组的同时进行初始化(2)静态初始化—无new,也产生了对象int[] array = int[]{1,2,3,4};(3)int[] array = new in...
2019-10-21 16:28:55
298
原创 方法及其重载和递归
方法1、什么是方法:一个代码片段,类似C语言的“函数”2、意义:能让复杂代码模块化代码可重复使用,一份代码可在多个位置使用更方便理解能直接调用现有方法开发3、代码的优化:例:二重循环时,可以把一个循环写成方法形式4、语法:public static 方法返回值 方法名称([参数类型 形参 …]){方法体代码;[return 返回值];} 返回值变量 = 方法名称(实参...
2019-10-14 20:54:26
212
原创 冯诺依曼体系结构
冯诺依曼体系结构一、为什么会提出冯诺依曼体系为解决当时计算机存储容量太小,运算速度过慢的问题。二、体系内容及结构采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备)1.存储器用来存放数据和程序2.运算器主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中3.控制器主要用来控制和指挥程序和数据的输入运行,以及处理运算结果4.输入设备用...
2019-09-26 19:37:12
352
原创 十进制整数转二进制、十六进制形式
十进制转二进制注:用短除法取余数,并从下往上记录结果。十进制转十六进制方法1:直接用十进制转二进制的方法,把除数换成16计算即可方法2:先把十进制转换为二进制,再把二进制转换为十六进制注:二进制转八进制同理2^3=8,即每三位二进制位为一位八进制位,计算方法同上...
2019-09-26 19:35:33
278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人