你必须知道的261个Java语言问题

传送门 ☞ Android兵器谱 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229

        本文取自《你必须知道的261个Java语言问题》一书的目录,前段时间在书城快速地浏览了一下,该书的作者总结了很多Java经典问题,注重讲解技术细节和知识扩展,其中的很多问题在业内日渐成熟的架构设计和层出不穷的框架技术面前,显得不是那么的重要,但它们却是Java立足之根本所在。本文仅以此目录抛砖引玉,有兴趣的朋友可以自行查阅答案。

第1章 Java基本概念及环境配置 .1

FAQ1.01 什么是面向对象程序设计? 1

FAQ1.02 面向对象程序设计的基本特征有哪些? 2

FAQ1.03 Java语言是如何产生和发展的? 3

FAQ1.04 Android与Java语言有什么关系? 4

FAQ1.05 Java SE. Java EE和Java ME有什么区别? 5

FAQ1.06 Java语言的运行机制如何? 6

FAQ1.07 什么是JVM?有什么作用?工作机制如何?8

FAQ1.08 什么是JRE(或J2RE)? 9

FAQ1.09 什么是JDK? 10

FAQ1.10 JDK. JRE和JVM之间有什么区别? 11

FAQ1.11 什么是GC?GC的工作原理如何? 12

FAQ1.12 如何安装Java基本开发环境JDK? 13

FAQ1.13 为何在JDK安装路径下存在两个JRE? 16

FAQ1.14 JDK安装时设置PATH和CLASSPATH环境变量有何作用? 17

FAQ1.15 如何编译. 运行Java应用程序? 18

FAQ1.16 如何将程序中的文档注释提取出来生成说明文档? 20

FAQ1.17 怎样制作鼠标双击就可以运行的Jar文件? 23

FAQ1.18 怎样给main(String[] args)方法的args指定参数值? 26

第2章 Java编程基础 28

FAQ2.01 Java中的标识符如何命名?可以用中文吗? 28

FAQ2.02 Java中有哪些关键字? 29

FAQ2.03 用public. protected和private修饰方法有什么区别? 30

FAQ2.04 this关键字有什么含义?在哪些情况下应用? 31

FAQ2.05 super关键字有什么含义?在哪些情况下应用? 32

FAQ2.06 static关键字有什么含义?具体如何应用?能修饰构造方法吗? 34

FAQ2.07 final关键字有什么含义?具体如何应用? 36

FAQ2.08 instanceof关键字有什么含义?如何应用? 37

FAQ2.09 Java中有哪些数据类型? 38

FAQ2.10 如何解决double和float精度不准的问题? 40

FAQ2.11 int和Integer都可以作为整数类型, 那么它们有什么区别? 43

FAQ2.12 float f=3.4语句是否正确? 44

FAQ2.13 成员变量和局部变量有什么区别? 45

FAQ2.14 变量之间传值时可分为值传递和引用传递, 那么它们有何区别? 46

FAQ2.15 Java中有哪些运算符?优先级如何? 48

FAQ2.16 在实现x和y相加时, x+=y和x=x+y两种实现方式有区别吗? 50

FAQ2.17 在执行与运算时, 运算符&和&&有什么区别? 50

FAQ2.18 在实现x递增加1操作时, x++和++x有什么区别? 52

FAQ2.19 x?y:z格式的语句表示什么意思? 53

FAQ2.20 “+”操作符在Java内部是如何实现字符串连接的?54

FAQ2.21 ==和equals()都可用于比较两个操作数是否相等, 它们有什么区别吗? 55

FAQ2.22 创建String对象时, 使用String s=new String (“abc”)和String s=“abc”语句有什么区别? 56

FAQ2.23 break和continue语句有什么区别? 56

FAQ2.24 数组如何定义和初始化? 57

FAQ2.25 如何实现一维和二维数组的遍历? 59

FAQ2.26 如何实现数组的复制? 60

FAQ2.27 数组的排序算法有哪些?如何实现? 61

FAQ2.28 如何解决ArrayIndexOutOfBounds Exception异常? 64

第3章 Java与面向对象 65

FAQ3.01 什么是类. 对象. 属性和方法? 65

FAQ3.02 什么是包?有什么好处? 67

FAQ3.03 什么是抽象类?有什么好处? 67

FAQ3.04 什么是接口?有什么好处? 69

FAQ3.05 什么是多态?有什么好处? 70

FAQ3.06 什么是内部类?有什么好处? 71

FAQ3.07 什么是匿名内部类?如何使用? 73

FAQ3.08 什么是封装类?有什么作用? 74

FAQ3.09 什么是继承?有什么好处? 75

FAQ3.10 使用new关键字创建对象时, 为什么有时候提示找不到无参的构造方法? 76

FAQ3.11 抽象类和接口都可以包含抽象方法, 那么它们有什么区别?使用时该如何选择? 76

FAQ3.12 什么是方法重写?为什么需要方法重写? 78

FAQ3.13 什么是方法重载?为什么需要方法重载? 78

FAQ3.14 构造方法是否可以被重写?能否被重载? 79

FAQ3.15 static修饰的方法能否在子类中重写? 80

FAQ3.16 在定义类时, 何时需要重写Object类中toString()方法? 81

FAQ3.17 在定义类时, 何时需要重写Object类中equals()方法? 82

FAQ3.18 为什么在重写equals()方法时, 一般都会重写HashCode()方法? 84

FAQ3.19 如何重写hashCode()方法? 85

FAQ3.20 Java中动态绑定是什么意思? 87

FAQ3.21 Java中是如何实现多态的?实现机制是什么? 88

FAQ3.22 创建类的对象时, 类中各成员的执行顺序是什么样的? 89

FAQ3.23 什么是初始化块?有什么作用? 90

FAQ3.24 静态初始化块与非静态初始化块有什么区别? 92

FAQ3.25 如何调用内部类中的方法? 93

FAQ3.26 当内部类和外部类的成员名称相同时, 如何在内部类中调用外部类的成员? 94

FAQ3.27 匿名内部类如何访问外部方法的局部变量或参数? 95

FAQ3.28 Java异常处理机制是什么样的? 96

FAQ3.29 常见的RuntimeException异常有哪些? 97

FAQ3.30 Java中异常处理的方式有哪些? 98

FAQ3.31 try-catch-finally语句块各部分的执行顺序如何? 100

FAQ3.32 为什么使用自定义异常?自定义异常如何使用? 101

第4章 Java流和文件操作 103

FAQ4.01 如何获取文件的属性信息? 103

FAQ4.02 如何判断文件是否为空? 105

FAQ4.03 如何实现文件的创建. 删除和移动? 105

FAQ4.04 如何创建和删除文件夹? 107

FAQ4.05 如何遍历目录中所有的文件? 109

FAQ4.06 如何获取文件夹大小? 110

FAQ4.07 什么是流?如何分类?具体包含哪些类? 111

FAQ4.08 如何实现字节流和字符流之间的转化? 113

FAQ4.09 如何判断要读的文件是否到达末尾? 116

FAQ4.10 如何读文件. 写文件? 117

FAQ4.11 如何以追加的方式写文件? 118

FAQ4.12 如何实现文件和文件夹的复制? 119

FAQ4.13 如何在文件的任意位置进行读写? 121

FAQ4.14 使用Buffered缓冲流写文件, 为什么内容没有写入? 122

FAQ4.15 如何实现文件的分割与合并? 123

FAQ4.16 什么是NIO?与I/O有什么区别和联系? 125

FAQ4.17 如何使用NIO读写文件? 127

FAQ4.18 什么是字符编码和解码? 129

FAQ4.19 读写文件时为什么中文字符经常产生乱码? 130

FAQ4.20 如何解决FileReader读文件乱码的问题? 131

FAQ4.21 为什么DataInputStream和DataOutputStream读写文件时乱码? 132

FAQ4.22 如何实现文件锁定功能? 134

FAQ4.23 如何实现对文件和字符串加密. 解密? 135

FAQ4.24 如何实现对文件和目录的压缩. 解压缩? 139

FAQ4.25 如何读写properties文件? 143

FAQ4.26 如何读写XML文件? 146

FAQ4.27 如何读写XML文件中的元素属性? 151

FAQ4.28 如何读写CSV格式的文件? 152

FAQ4.29 如何为图片文件生成缩略图? 154

FAQ4.30 如何操作Excel文件? 156

FAQ4.31 如何操作Word文件? 161

第5章 Java GUI编程 164

FAQ5.01 什么是Java GUI?Swing与AWT有什么关系? 164

FAQ5.02 什么是布局管理器?常用的布局管理器有哪些? 165

FAQ5.03 如何在窗体中显示一张图片? 170

FAQ5.04 如何为容器添加滚动条功能? 171

FAQ5.05 如何实现一个打开文件或者是存储文件的对话框? 173

FAQ5.06 如何实现弹出消息框的功能? 175

FAQ5.07 如何使用Dialog对话框? 177

FAQ5.08 如何为按钮添加单击事件? ..178

FAQ5.09 如何为窗体添加关闭事件? 181

FAQ5.10 如何实现窗体菜单功能? 183

FAQ5.11 如何处理键盘输入事件? 185

FAQ5.12 如何处理鼠标单击事件?如何区分是左键还是右键? 186

FAQ5.13 如何实现鼠标右键弹出菜单的功能? 189

FAQ5.14 如何使用表格组件? 191

FAQ5.15 如何实现记事本功能? 193

FAQ5.16 如何实现贪吃蛇游戏? 198

第6章 Java线程和序列化 208

FAQ6.01 线程. 进程和程序有何区别和联系?208

FAQ6.02 如何创建和启动一个线程? 209

FAQ6.03 线程的基本状态有哪些?它们之间有何关系? 211

FAQ6.04 什么是线程优先级?线程依据什么原则调度执行? 212

FAQ6.05 什么是后台线程?如何创建一个后台线程? 214

FAQ6.06 如何使正在运行的线程在指定时间内休眠? 216

FAQ6.07 如何终止一个正在运行的线程? 218

FAQ6.08 为何stop()和suspend()方法不推荐使用? 219

FAQ6.09 如何控制线程的暂停和启动? 220

FAQ6.10 如何实现多个线程同步? 225

FAQ6.11 什么是对象序列化和对象反序列化? 233

FAQ6.12 实现对象序列化的方法有哪些? 234

FAQ6.13 如何实现对象在磁盘中的存取操作? 236

FAQ6.14 使用ObjectInputStream读取对象时为什么会发生StreamCorruptedException异常? 238

FAQ6.15 对象中的成员哪些参与序列化?哪些不参与序列化? 241

FAQ6.16 如何自定义序列化和反序列化过程? 243

FAQ6.17 如何使用Externalizable接口定制序列化过程? 247

FAQ6.18 在序列化类中添加serialVersionUID属性有什么作用? 250

FAQ6.19 当序列化遭遇继承时, 如何正确处理对象序列化过程?251

第7章 Java网络编程 256

FAQ7.01 什么是TCP/IP?什么是IP? 256

FAQ7.02 TCP和UDP有什么区别? 258

FAQ7.03 什么是HTTP?HTTP的工作原理如何? 259

FAQ7.04 在Socket通信时如何获取主机和客户机的IP地址? 261

FAQ7.05 如何利用Socket实现基于TCP的通信? 264

FAQ7.06 如何利用Socket传输中文字符? 265

FAQ7.07 如何在Socket读取数据时使用超时设置?267

FAQ7.08 如何利用Socket传递对象信息? 268

FAQ7.09 如何利用Socket实现文件传输? 271

FAQ7.10 如何基于Socket实现聊天系统? 274

FAQ7.11 如何利用Socket实现基于UDP的通信? 278

FAQ7.12 如何利用UDP Socket技术实现IP多点传送? 280

FAQ7.13 如何获取Internet资源的大小? 285

FAQ7.14 如何实现Internet资源的单线程下载? 286

FAQ7.15 URL如何通过proxy代理访问Internet资源? 287

FAQ7.16 如何实现Internet资源下载的断点续传? 288

FAQ7.17 如何实现Internet资源的多线程下载? 290

FAQ7.18 如何解析Internet网页内容? 293

第8章 Java常用功能 296

FAQ8.01 如何使字符串中包含“"”字符 296

FAQ8.02 如何实现字符串和整数之间的转化? 297

FAQ8.03 如何替换字符串中的字符或子字符串? 298

FAQ8.04 如何过滤字符串前后以及中间出现的空格? 299

FAQ8.05 如何对字符串中的子字符或子字符串进行截取? 301

FAQ8.06 如何判断一个字符串是否符合数值格式? 302

FAQ8.07 如何实现字符串的切割和查找? 303

FAQ8.08 如何实现十进制和二进制之间的相互转化? 306

FAQ8.09 如何将字节流转换为指定编码的字符串? 307

FAQ8.10 如何实现日期格式和字符串之间的转化? 308

FAQ8.11 String. StringBuffer和StringBuilder有什么区别? 310

FAQ8.12 如何获得一个随机数? 311

FAQ8.13 List. Set和Map是否继承自Collection接口?有什么区别? 312

FAQ8.14 ArrayList与LinkedList. Vector的区别是什么? 313

FAQ8.15 HashMap和Hashtable有什么区别? 314

FAQ8.16 如何遍历Map和Vector集合? 315

FAQ8.17 如何获取系统当前时间? 317

FAQ8.18 如何获得系统属性? 318

FAQ8.19 什么是反射机制?有什么作用? 319

FAQ8.20 如何读取键盘输入的信息? 322

FAQ8.21 如何获取当前工程目录? 323

FAQ8.22 如何使用Java调用系统的exe文件? 324

FAQ8.23 如何使用Java执行cmd命令? 325

FAQ8.24 如何使用Java程序打开一个Word文档? 326

FAQ8.25 如何使用MD5和SHA算法加密信息? 327

第9章 Java数据库操作 329

FAQ9.01 什么是JDBC?有什么作用? 329

FAQ9.02 Java与数据库的连接方式有哪些? 330

FAQ9.03 如何连接各种类型的数据库? 331

FAQ9.04 如何实现对数据库数据的查询? 335

FAQ9.05 如何实现对数据库数据的增加. 删除和修改? 336

FAQ9.06 如何使用PrepareStatement对数据库操作? 339

FAQ9.07 Statement和PrepareStatement有什么区别? 340

FAQ9.08 如何调用数据库中的存储过程? 341

FAQ9.09 如何通过JDBC-ODBC桥访问Access数据库? 344

FAQ9.10 连接Oracle数据库时thin和oci方式有什么区别? 346

FAQ9.11 如何判断ResultSet结果集为空? 347

FAQ9.12 如何获取ResultSet中含有的记录数量? 348

FAQ9.13 如何获取ResultSet中n~m位置区间的记录? 350

FAQ9.14 如何利用ResultSet更新数据库数据? 351

FAQ9.15 如何使用LIKE关键字实现模糊查询? 352

FAQ9.16 如何实现查询的分组统计和排序? 354

FAQ9.17 如何实现多表联合查询? 355

FAQ9.18 如何使用JDBC的批处理操作? 357

FAQ9.19 如何实现Oracle字段值递增的功能? 358

FAQ9.20 如何处理数据表中Date类型的字段? 360

FAQ9.21 如何向表中插入含有特殊字符的信息? 360

FAQ9.22 如何使用BLOB类型的字段存取图片? 361

FAQ9.23 如何使用CLOB类型的字段存取字符文件?363

FAQ9.24 如何通过程序创建和删除数据表? 365

FAQ9.25 如何获取数据表的结构信息? 367

FAQ9.26 如何获取数据库中所有表名? 369

FAQ9.27 如何用程序备份和恢复数据库? 370

FAQ9.28 什么是事务?如何使用JDBC事务控制? 372

FAQ9.29 什么是JTA?JTA事务与JDBC事务有什么区别? 373

FAQ9.30 如何使用JTA实现分布式事务控制? 374

FAQ9.31 什么是数据库连接池?工作原理如何? 376

FAQ9.32 如何提升SQL语句的查询性能? 377

FAQ9.33 如何解决MySQL数据库插入乱码的问题?379

第10章 Java Web程序设计 381

FAQ10.01 什么是JSP?JSP的工作原理如何? 381

FAQ10.02 JSP. Java和JavaScript有什么区别和联系? 383

FAQ10.03 JSP程序开发和运行环境是什么?如何搭建? 383

FAQ10.04 如何开发一款JSP程序? 387

FAQ10.05 在JSP中有哪些注释格式?有什么作用? 390

FAQ10.06 JSP中有哪些内建对象?分别有什么作用? 391

FAQ10.07 page. request. session和application有什么区别? 395

FAQ10.08 如何解决request.getParameter()取值乱码问题? 396

FAQ10.09 JSP中forward和redirect有什么区别? 397

FAQ10.10 如何在多个JSP页面之间传递信息? 399

FAQ10.11 如何解决URL传递中文时出现乱码的问题?400

FAQ10.12 动态include与静态include有什么区别? 401

FAQ10.13 什么是JavaBean?如何使用JavaBean? 402

FAQ10.14 什么是Session?如何使用Session? 403

FAQ10.15 如何在关闭页面时自动清除Session? 405

FAQ10.16 什么是Cookie?如何使用Cookie? 406

FAQ10.17 如何在禁用Cookie的情况下使用Session? 408

FAQ10.18 如何在JSP中避免表单的重复提交?409

FAQ10.19 如何实现JSP数据和JavaScript数据的交互使用? 411

FAQ10.20 什么是Servlet?Servlet与JSP有什么区别? 412

FAQ10.21 Servlet容器的工作原理如何? 413

FAQ10.22 如何在Servlet中使用Session和Application? 414

FAQ10.23 如何编写多线程安全的Servlet程序? 415

FAQ10.24 如何在Servlet和JSP中获取工程文件的绝对路径?417

FAQ10.25 如何获取客户端浏览器和操作系统信息? 417

FAQ10.26 如何在Web程序中实现定时运行的功能?418

FAQ10.27 如何实现网站登录记忆跳转的功能? 421

FAQ10.28 如何将JSP动态页面转换为HTML静态页面? 423

FAQ10.29 如何实现数据分页显示的功能? 424

FAQ10.30 如何将JSP内容以Excel或Word格式输出? 431

FAQ10.31 如何在JSP中实现打印功能? 432

FAQ10.32 如何实现图片验证码功能? 433

FAQ10.33 如何实现饼状图. 柱状图和曲线图? 436

FAQ10.34 如何实现进度条显示功能? 443

FAQ10.35 如何实现网站计数器功能? 447

FAQ10.36 如何发送HTML格式和带附件的邮件? 448

FAQ10.37 如何实现文件的上传和下载? 453

FAQ10.38 如何禁止浏览器缓存页面内容? 457

FAQ10.39 如何在网页中在线播放音乐和视频? 458

FAQ10.40 如何处理JSP页面的错误? 460

FAQ10.41 如何利用过滤器实现权限验证功能? 462

FAQ10.42 如何实现JSP防盗链功能?464


你可能感兴趣的:(java,数据结构,算法,面试,面试题)