首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java基础题目总结

    有些基础题目由于工作中用的比较少但却又是不可少的,这样回答起来就会反应慢,不确定,不准确,特此开了文章记录遇到的不确定或者回答比较拗口的问题。...线程安全问题的重点还是共享变量的问题,想了解关于共享变量的变化就要了解jmm(java memory model),简单的说就是线程有工作区,变量放在内存堆中。...3.谈谈对java内存模型的了解 java memory model,jmm. 和上个问题差不多,主要是变量的存储和赋值问题。在上篇文章的volatile有描述。...java通过上锁来保证原子操作,即原子性。java允许编译器和处理器对指令进行重新排序,但是重排序过程不会影响到单线程程序的执行,却会影响到多线程并发执行的正确性。...,java内存模型具备一些先天的“有序性”,即不需要通过任何手段就能够保证的有序性,这个通常也成为happens-before原则。

    79990

    Java|粉丝答疑之Java编程题目

    问题描述 最近我们公众号有个粉丝向我们提出了一个关于Java的问题,如下: ? 解决方案 先来看看这个题,可以先写三个类。...System.out.println(id+"\t"+name+"\t"+sex+"\t"+address); } } 然后是Method类: package src.boke1; import java.util.Scanner...******************"); Method method = new Method(); method.main(); } } 总结 在学Java...的时,看到题目,首先要先思考,先写一个大概框架,然后再去具体完善。...在刚开始的时候我们学习Java基础,掌握了基础,其次就需要学习编程思想,学习编程的思想就是为了能够有效的能够使用编程语言的特性去实现目的,每个人的思想不一样,我们都要找到自己的编程思想,这样才能够将所学的知识融会贯通

    41710

    Java面试题—基础题目

    本文来源于并发编程网清英的一篇文章:你应该知道的JAVA面试题,最近自己也在面试一些候选人,发现这篇文章中的有些点我也拿不准,因此按照自己的理解整理一份参考回答。 基础题目 1....Java线程的状态 Java线程在某个时刻只能处于以下六个状态中的一个。...在并发编程领域,有进程和线程两个概念,在Java语言中说起并发编程,常常是指多线程,但是了解进程的概念也非常重要: 进程是操作系统的资源调度实体,有自己的内存地址空间和运行环境; 线程一般被称为轻量级的进程...参考资料:《Java并发编程实战》 4. Cookie和Session的区别 HTTP是无状态协议,但是在实际应用中有跟踪客户端状态的需求,Cookie和Session是两种不同的实现方案。...参考资料 程晓明:深入理解JVM内存模型1 《深入理解JVM虚拟机》 《Java并发编程实战》 13. Java运行时数据区 ?

    48020

    Java编程基础

    Java编程基础 一、前言 什么是编程编程就是计算机程序告诉计算机应该做些什么,通过编程执行操作。 我们所学习到的Java编程语言是如今Internet上受欢迎的开发与编程语言。...JSE为标准版,主要用于桌面应用软件的编程,其余的以后另讲,如今小白学习的使用就是标准版。...2.java.applet包      java.applet包用来实现运行Java Applet的工具类库。 3.java.awt包     java.awt包是Java抽象窗口工具包。...4.java.io包      java.io包是Java语言的标准输入/输出类库。 5.java.net包     java.net包是Java网络包,主要实现网络功能。...知识准备 面向过程和面向对象 面向过程是以过程为中心的编程方法 面向对象是以对象为中心的编程方法 静态成员 静态成员用static关键字进行修饰,表示静态的意思,可以用来修饰成员变量和成员方法,也可以形成静态代码块

    69320

    Java编程基础

    1.什么是编程? 就是通过一些人为的编写一串指令(代码)让计算机去解决每一个问题。实现我们想要的结果,达到最终的目的。 2.数据类型和变量 2.1.什么是数据类型? 也就是对数据的分类。...而Java的数据类型有: 整数类型 byte/short/int/long 小数类型 float/double 字符类型 char 真假类型 boolean 这些也都是Java的基本数据类型(八种基本的数据类型...),Java也存在引用数据类型。...这样也包含了整个开发过程种所需要的各种数据类型,可以是Java本身的数据类型买,也可以是我们自己所编写的数据类型。...运算符 2.1 算术运算符 2.1.1 运算符和表达式 运算符:对常量或者变量进行操作的符号 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。 ​

    43330

    java 并发编程基础

    Table of Content 计算机基础 java的原子性操作 java的线程通信 java锁机制 reference 计算机基础 Bus 总线的概念 image.png 总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线...也就是在任意的时间点, 最多只能有一个处理器可以访问内存, 这个特性确保总线事务之中的内存读写操作具有原子性 java不对long和double类型数据保持原子性, 是因为他们都是8个字节, 64位..., 对32位机器可能会把64拆成两个32, 从而进入不同的事务里,因此很难保证原子性操作 java的原子性操作 java的原子性操作是靠锁和循环的CAS来实现的 java的线程通信 java的线程通信是靠...共享内存 和 消息通信 来是实现的 java锁机制 java的轻量级锁 volatile: 使用了锁的happen-before 原则 锁的happen-before原则保证释放锁和获取锁的两个线程之间的内存可见性...插入内存屏障的目的就是禁止编译器和处理器的重排序 reference java并发编程的艺术

    48120

    Java基础-网络编程

    Socket实际是网络传输层供给应用层的编程接口。传输层则在网络层的基础上提供进 程到进程问的逻辑通道,而应用层的进程则利用传输层向另一台主机的某一进程通 信。...Socket就是应用层与传输层之间的桥梁 使用Socket编程可以开发客户机和服务器应用程序,可以在本地网络上进行通信,也可通过Internet在全球范围内通讯 TCP编程 需求:完成网络登录功能:...用户输入用户名密码,服务器给出登录成功或失败的提示 分析 使用基于TCP协议的Socket网络编程实现 TCP协议基于请求-响应模式 在网络通讯中,第一次主动发起通讯的程序被称 作客户端(Client...ObjectOutputStream,与平台无关,输入流相应使 用DataIntputStream和ObjectInputStream 如果是字符串通信也可以使用BufferedReader和PrintWriter,简单方便 UDP编程...需求:完成在线咨询功能: 客户和咨询师在线交流 分析 使用基于UDP协议的Socket网络编程实现 不需要利用IO流实现数据的传输 每个数据发送单元被统一封装成数据包的方式,发送方将数据包发送到网络中

    64720

    Java并发编程基础

    转载请以链接形式标明出处: 本文出自:103style的博客 Java并发编程的艺术笔记 并发编程的挑战 Java并发机制的底层实现原理 Java内存模型 Java并发编程基础 Java中的锁的使用和实现介绍...Java并发容器和框架 Java中的12个原子操作类介绍 Java中的并发工具类 Java中的线程池 Executor框架 ---- 目录 线程的简介 启动和终止线程 线程间通信 小结 ---- 线程的简介...为什么要使用多线程 目前的处理器核心越来越多,使用多线程能有更快的响应时间,并能有更好的编程模型。...这意味着,当一个Java虚拟机中不存在非Daemon线程的时候,Java虚拟机将会退出(Daemon线程不一定会执行完)。...: sleep interrupted at java.lang.Thread.sleep(Native Method) at java.lang.Thread.sleep(Thread.java:

    19330

    Java编程基础(1)

    一、概述 1、三大平台 (1)java ME:嵌入式应用(小型设备,比如移动通信,智能卡,电视机顶盒等) (2)Java SE:桌面级应用(也就是Eclipse一类的应用,Java SE SDK也简称JDK...) (3)Java EE:Java的企业级应用平台 2、跨平台特性——得益于java虚拟机的设计(可以运行在不同操作系统上,避免了java程序与操作系统直接接触,可以说是透明的) 可以看上图,非常清晰明了...,java程序通过Java虚拟机在不同操作系统中运行,可以说java虚拟机是java语言得以大力发展的一大主要诱因,具体java虚拟机的原理,可以参考一位大神写的博客:深入理解Java虚拟机到底是什么...Java虚拟机——Java Virtual Machine,JVM 3、Java应用程序 (1)Application:能够独立运行的应用程序,有控制台和图形用户界面两种运行方式 (2)Applet:是可以嵌入...,其中java.exe就代表了java虚拟机 4、Java API的常用包 5、关键字和标识符(以前总是搞混,复习的时候,记录一下) (1)关键字(keywords)——java语言定义的,具有特定含义的词

    28120

    java网络】编程基础

    Java 网络编程 基于套接字的通信可以使程序通过指定的套接字进行通信。...套接字是两个主机之间逻辑链接的端点,可以用于发送和接收数据,Java对套接字的处理非常类似于对输入输出操作的处理,因此,程序从socket中读写就像从文件中读写一样容易 Java支持流套接字和数据报套接字...服务器套接字可以有多个连接,while循环的每次迭代创建一个新的连接,无论何时,只要建立一个新的连接,就创建一个新线程来处理服务器与新客户之间的通信,这样,就可以有多个连接同时运行 4、从Web服务器上读取文件 Java...数据报套接字是用用户数据报协议(UDP) Java.net.package包包含两个类DatagramPacket和DatagramSocket类,利用它们可以编写使用数据报在网络上发送和接收分组的程序...需要创建一个空的分组,并在DatagramSocket对象上调用接受分组的receive(packet)方法 5.3、数据报程序设计 数据报没有服务器套接字的概念,从某种意义上说,数据报程序设计不同于流套接字编程

    1.1K90

    Java并发编程基础

    Java并发编程基础 强烈推介IDEA2020.2破解激活,IntelliJ IDEA...注册码,2020.2 IDEA 激活码 Java语音从开始就内置了对多线程的支持,线程是操作系统的最小单元,多个线程同时执行可以明显提升程序性能。...例如:启动一个Java程序,系统会创建一个Java进程。上文提到操作系统的最小调度单元是线程,线程也被称为***轻量级进程***,一个进程可以创建多个线程。...举个例子吧,一个Java程序,从最开始的mian()方法开始执行,然后按照既定的逻辑执行,看似没有其它的线程参与,但是吧,Java程序本身就是一个多线程的程序。所以。。。...使用多线程的原因,有以下几点 更多的处理器核心 更快的响应时间 更好的编程模型 作者:https://gper.club/articles/7e7e7f7ff7g5agc8g6d

    26220
    领券