- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 synchronized优化
synchronized优化重量级锁早期版本的synchronized是依赖对象内部的monitor锁来实现,而monitor依赖于操作系统的互斥锁实现。当系统检查为重量级锁,则会把想要获取锁的线程进行阻塞(被阻塞的线程不消耗CPU)。但阻塞或唤醒线程时,都需要从用户态切换到内核态,导致开销很大。无锁对象刚创建时是无锁状态。偏向锁线程执行到锁相关代码段时,线程占有该锁。即这个锁会偏向第一个获得它的线程。如果没有其他线程来竞争,持有偏向锁的线程永远不需要进行同步。轻量级锁线程在自己的线程栈中,
2021-09-27 13:58:19 154
原创 抽象类与接口
**抽象类**1.可以有构造方法,不能实例化只能被继承2.存在普通属性、方法、静态属性、方法3.可以有也可以没有抽象方法4.有抽象方法的类一定是抽象类,抽象方法访问类型可以是public,protected和默认5.抽象类的抽象方法必须有子类实现。不实现,则子类也为抽象类6.抽象方法修饰符只能为pbulic或protect,默认为public7.可以包含静态成员变量8.jdk1.8以前,方法默认为protect。1.8以后为default接口1.只有方法的声明,没有方法体2.没有普
2021-08-16 00:15:10 84
原创 牛客网-Java专项练习11
牛客网-Java专项练习111.关于抽象类和接口叙述正确的是? ( )A.抽象类和接口都能实例化的B.抽象类不能实现接口C.抽象类方法的访问权限默认都是publicD.接口方法的访问权限默认都是public答案:D解析:抽象类特点:1.抽象类中可以构造方法2.抽象类中可以存在普通属性,方法,静态属性和方法。3.抽象类中可以存在抽象方法。4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类
2021-07-11 12:43:46 562
原创 牛客网-Java专项练习10
牛客网-Java专项练习101.假设如下代码中,若t1线程在t2线程启动之前已经完成启动。代码的输出是()public static void main(String[]args)throws Exception { final Object obj = new Object(); Thread t1 = new Thread() { public void run() { synchronized (obj) {
2021-07-11 01:36:29 897
原创 牛客网-Java专项练习09
牛客网-Java专项练习09Integer a = 1;Integer b = 1;Integer c = 500;Integer d = 500;System.out.print(a == b);System.out.print(c == d);A.true、trueB.true、falseC.false、trueD.false、false答案:B解析:Integer类型在-128–>127范围之间是被缓存了的,也就是每个对象的内存地址是相同的,赋值就直接从缓存中取,
2021-07-10 22:51:40 441
原创 牛客网-Java专项练习08
牛客网-Java专项练习081.看以下代码:文件名称:forward.jsp<html> <head><title> 跳转 </title> </head> <body> <jsp:forward page="index.htm"/> </body> </html> 如果运行以上jsp文件,地址栏的内容为A.http:
2021-07-10 22:05:44 442
原创 牛客网-Java专项练习07
牛客网-Java专项练习071.ArrayList和Vector主要区别是什么?A.Vector与ArrayList一样,也是通过数组实现的,不同的是Vector支持线程的同步B.Vector与ArrayList一样,也是通过数组实现的,不同的是ArrayList支持线程的同步C.Vector是通过链表结构存储数据,ArrayList是通过数组存储数据D.上述说法都不正确答案:A解析:1) 同步性:Vector是线程安全的,也就是说是同步的 ,而ArrayList 是线程序不安全的,不是同步
2021-07-10 19:11:35 256
原创 牛客网-Java专项练习06
牛客网-Java专项练习061.命令javac-d参数的用途是?()A.指定编译后类层次的根目录B.指定编译时需要依赖类的路径C.指定编译时的编码D.没有这一个参数答案:A解析:javac -d 指定放置生成的类文件的位置javac -s 指定放置生成的源文件的位置2.下列代码执行结果为()public static void main(String args[])throws InterruptedException{ Thread t=new Thread(
2021-07-10 15:16:54 237
原创 牛客网-Java专项练习05
牛客网-Java专项练习051.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()package NowCoder;class Test { public static void hello() { System.out.println("hello"); }}public class MyApplication { public static void main(String[] args) { // TODO A
2021-07-10 15:04:08 1004
原创 牛客网-Java专项练习04
牛客网-Java专项练习041.有关finally语句块说法正确的是( )A.不管catch是否捕获异常,finally语句块都是要被执行的B.在try语句块或catch语句块中执行到System.exit(0)直接退出程序C.finally块中的return语句会覆盖try块中的return返回D.finally 语句块在 catch语句块中的return语句之前执行答案:ABC解析:如果try,finally语句里均有return,忽略try的return,而使用finally的retur
2021-07-10 02:28:19 1305
原创 牛客网-Java专项练习04
牛客网-Java专项练习041.以下那些代码段能正确执行A.public static void main(String args[]) {byte a = 3;byte b = 2;b = a + b;System.out.println(b);}B.public static void main(String args[]) {byte a = 127;byte b = 126;b = a + b;System.out.println(b);}C.public st
2021-07-10 01:26:07 296
原创 牛客网-Java专项练习03
牛客网-Java专项练习031.下列关于系列化和反序列化描述正确的是:A.序列化是将数据转为n个 byte序列的过程B.反序列化是将n个 byte转换为数据的过程C.将类型int转换为4 byte是反序列化过程D.将8个字节转换为long类型的数据为序列化过程答案:AB解析:序列化是把对象转换为字节序列的过程,为了存储在磁盘上或者进行网络传输。 反序列化是把存储在磁盘或网络节点上的字节序列恢复为对象的过程。2.在开发中使用泛型取代非泛型的数据类型(比如用ArrayList取代ArrayLi
2021-07-10 00:55:56 740
原创 牛客网-Java专项练习02
牛客网-Java专项练习021.StringBuffer类对象创建之后可以再修改和变动.A.正确B.错误答案:A解析:String是个不可继承类(final修饰),也是个不可变类(内部char数组被final修饰)。StringBuffer和StringBuilder内部都是一般的动态数组,所以可变。前者是线程安全的,因为方法基本都被synchronized修饰了。2.下面关于Java package的描述,哪个是正确的:()I. 包不提供将所有类名分区为更易管理的块的机制.II. 包提供可
2021-07-09 17:33:07 423
原创 牛客网-Java专项练习01
牛客网-Java专项练习记录011.通过HttpServletRequest.getParameter获取的参数A.总是采用UTF-8编码B.总是采用lS08859-1编码C.由客户端浏览器和Web容器配置共同决定编码D.由服务器所在的操作系统决定编码答案:C解析:浏览器是根据jsp页面开头声明的编码方式对request参数进行编码。在Tomcat中默认是lS08859-1编码,使用request.setCharacterEncoding(“UTF-8”)指定编码为UTF-8,或者修改tomc
2021-07-09 02:21:04 599
原创 Nginx入门
什么是NginxNginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符URI或者统一资源定位符URL作为沟通依据,通过HTTP协议提供各种网络服务。Nginx是一个跨平台的Web服务器,可运行在Linux、MacOS、Windows、AIX、FreeBSD等操作系统上,而且可使用当前操作系统特有的高效API来提高性能。Web服务器简述Tomcat和Jetty面向Java语言,是重量级的Web服务器。IIS只能在Windows上运行。因为Windows的稳定性与其他
2021-06-17 15:04:03 86
原创 Windows环境下nginx的安装
安装步骤1、下载Nginx下载地址:http://nginx.org/en/download.html (Nginx官网)2、下载后解压3、进入控制台(CMD)切换到Nginx目录下,输入start nginx4、在浏览器页面输入localhost,出现如下界面则表示安装成功(默认监听80端口号)注意:由于nginx默认端口也是80端口,若开启了Apache或者IIS服务,则会占用80端口。在启动nginx之前需关闭IIS或Apache服务,否则nginx启动命令不会成功。或者修改n
2021-06-17 09:45:14 129
原创 idea第一次提交项目提示:Push rejected
idea第一次提交项目提示:Push rejectedidea第一次提交项目时出现:Push rejected可在Git Bash中输入//将本地的master分支推送到origin主机,同时指定origin为默认主机git push -u origin master -f导致push失败的原因有很多,这是我遇到问题的解决方法...
2021-04-18 23:17:07 320
原创 基于安卓开发的课程类APP
安卓课程APP安卓课程APP项目程序设计用户状态图程序层次图程序的实现课程模块阅读模块侧拉框模块主页模块和测试模块git地址安卓课程APP(1)实现用户注册登录功能;(2)专题课件功能全书十五章的电子课件;(3)教学视频功能涉及《毛概》相关教学视频;(4)在线章节测试具有限时提交功能;(5)经典阅读涉及课程相关重要文章,可分页展示;(6)具有侧拉框,实现版本信息、分享、退出、意见反馈的功能项目程序设计用户状态图用户进入欢迎界面进行登录操作,软件判断是否注册过,若是,直接使用用户名密码进行
2021-03-05 19:23:37 1662 3
原创 基于python进行开发的聊天室(私聊、群聊、gui界面、自动回复)
基于pycharm进行开发的聊天室需求分析本次脚本语言编程选择的题目是网络聊天室,通过网络聊天室可以让用户可以进行消息发送。本次项目主要实现、运用了以下功能和技术:1.利用Socket进行编程的技术2.应用多线程进行多方的持续通信3.进行私人聊天4.进行多人聊天5.在登录和聊天室使用图形界面6.具有一定程度的异常识别7.与智能机器人聊天,通过读取csv文件获取回复内容8.聊天室一侧可显示聊天室在线人数程序设计服务器数据接收服务器发送数据服务端接收到到数据后,再对数据进行处理然后
2021-01-27 17:16:36 5363 2
基于python进行开发的聊天室(单聊、群聊、gui界面、自动回复)
2021-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人