文轩网图书旗舰店
  • 扫码下单

  • Java编程的逻辑 马俊昌 著 著 专业科技 文轩网
  • 新华书店正版
    • 作者: 马俊昌 著著
    • 出版社: 机械工业出版社
    • 出版时间:2018-01-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    店铺装修中

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    文轩网图书旗舰店

  •      https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: 马俊昌 著著
    • 出版社:机械工业出版社
    • 出版时间:2018-01-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2018-01-01
    • 页数:675
    • 开本:16开
    • 装帧:平装
    • 国别/地区:中国
    • 版权提供:机械工业出版社

    Java编程的逻辑

    作  者:马俊昌 著 著
    定  价:99
    出 版 社:机械工业出版社
    出版日期:2018年01月01日
    页  数:675
    装  帧:平装
    ISBN:9787111587729
    主编推荐

    内容简介

    本书涵盖以下内容:① 讲解编程基础,了解计算机程序的执行流程与基本元素;② 讲解计算机的基本元素由来与基本运行机制(二进制描述);③ 讲解面向对象的编程原理与逻辑,设计类、继承与多态、接口与抽象类、代码的组织机制。④ 讲解常用基础类的实现方式与执行机制。⑤ 讲解泛型、容器类、数据结构和算法;⑥ 讲解文件系统的设计与实现。⑦ 讲解并发编程的基础、实现与编程技巧;⑧ 讲解动态、声明式、函数式编程的编程思路、API与技巧。

    作者简介

    马俊昌,邻家科技CTO和联合创始人。北京理工大学博士,曾就职于IBM,从事中间件、云计算架构和开发工作,在万普世纪负责移动广告平台大数据分析和算法优化工作。2014年联合创立邻家科技,主要产品“到位APP”是一个到家生活服务平台。十多年来,一直从事Java编程,积累了比较丰富的经验。平时喜欢读书,研究技术与创新,乐于分享编程心得,欢迎关注我的微信公众号“老马说编程”,和你一起探索编程本质。

    精彩内容

    目录
    读者评论
    前言
    第一部分编程基础与二进制
    第1章编程基础2
    1.1数据类型和变量3
    1.2赋值4
    1.2.1基本类型4
    1.2.2数组类型6
    1.3基本运算8
    1.3.1算术运算8
    1.3.2比较运算10
    1.3.3逻辑运算10
    1.3.4小结11
    1.4条件执行11
    1.4.1语法和陷阱11
    1.4.2实现原理14
    1.5循环16
    1.5.1循环的4种形式16
    1.5.2循环控制19
    1.5.3实现原理20
    1.5.4小结20
    1.6函数的用法21
    1.6.1基本概念21
    1.6.2进一步理解函数23
    1.6.3小结27
    1.7函数调用的基本原理27
    1.7.1栈的概念27
    1.7.2函数执行的基本原理28
    1.7.3数组和对象的内存分配29
    1.7.4递归调用的原理30
    1.7.5小结31
    第2章理解数据背后的二进制33
    2.1整数的二进制表示与位运算33
    2.1.1正整数的二进制表示33
    2.1.2负整数的二进制表示34
    2.1.3十六进制35
    2.1.4位运算36
    2.2小数的二进制表示37
    2.2.1小数计算为什么会出错37
    2.2.2二进制表示38
    2.3字符的编码与乱码39
    2.3.1常见非Unicode编码39
    2.3.2Unicode编码42
    2.3.3编码转换44
    2.3.4乱码的原因45
    2.3.5从乱码中恢复46
    2.4char的真正含义49
    第二部分面向对象
    第3章类的基础52
    3.1类的基本概念52
    3.1.1函数容器52
    3.1.2自定义数据类型53
    3.1.3定义第一个类55
    3.1.4使用第一个类55
    3.1.5变量默认值57
    3.1.6private变量57
    3.1.7构造方法58
    3.1.8类和对象的生命周期60
    3.1.9小结61
    3.2类的组合61
    3.2.1String和Date61
    3.2.2图形类62
    3.2.3用类描述电商概念63
    3.2.4用类描述人之间的血缘关系65
    3.2.5目录和文件66
    3.2.6一些说明67
    3.2.7小结68
    3.3代码的组织机制68
    3.3.1包的概念68
    3.3.2jar包71
    3.3.3程序的编译与链接71
    3.3.4小结72
    第4章类的继承73
    4.1基本概念73
    4.1.1根父类Object74
    4.1.2方法重写74
    4.1.3图形类继承体系75
    4.1.4小结80
    4.2继承的细节80
    4.2.1构造方法81
    4.2.2重名与静态绑定82
    4.2.3重载和重写83
    4.2.4父子类型转换85
    4.2.5继承访问权限protected85
    4.2.6可见性重写86
    4.2.7防止继承final87
    4.3继承实现的基本原理88
    4.3.1示例88
    4.3.2类加载过程90
    4.3.3对象创建的过程91
    4.3.4方法调用的过程92
    4.3.5变量访问的过程93
    4.4为什么说继承是把双刃剑94
    4.4.1继承破坏封装94
    4.4.2封装是如何被破坏的94
    4.4.3继承没有反映is-a关系97
    4.4.4如何应对继承的双面性97
    第5章类的扩展100
    5.1接口的本质100
    5.1.1接口的概念101
    5.1.2定义接口101
    5.1.3实现接口102
    5.1.4使用接口103
    5.1.5接口的细节105
    5.1.6使用接口替代继承106
    5.1.7Java 8和Java 9对接口的增强106
    5.1.8小结108
    5.2抽象类108
    5.2.1抽象方法和抽象类108
    5.2.2为什么需要抽象类109
    5.2.3抽象类和接口109
    5.2.4小结110
    5.3内部类的本质111
    5.3.1静态内部类111
    5.3.2成员内部类113
    5.3.3方法内部类115
    5.3.4匿名内部类117
    5.4枚举的本质119
    5.4.1基础120
    5.4.2典型场景122
    第6章异常125
    6.1初识异常125
    6.1.1NullPointerException(空指针异常)125
    6.1.2NumberFormatException(数字格式异常)126
    6.2异常类128
    6.2.1Throwable128
    6.2.2异常类体系129
    6.2.3自定义异常130
    6.3异常处理131
    6.3.1catch匹配131
    6.3.2重新抛出异常131
    6.3.3finally132
    6.3.4try-with-resources133
    6.3.5throws134
    6.3.6对比受检和未受检异常135
    6.4如何使用异常135
    6.4.1异常应该且仅用于异常情况136
    6.4.2异常处理的目标136
    6.4.3异常处理的一般逻辑137
    第7章常用基础类138
    7.1包装类138
    7.1.1基本用法139
    7.1.2共同点140
    7.1.3剖析Integer与二进制算法144
    7.1.4剖析Character149
    7.2剖析String155
    7.2.1基本用法156
    7.2.2走进String内部157
    7.2.3编码转换157
    7.2.4不可变性158
    7.2.5常量字符串159
    7.2.6hashCode160
    7.2.7正则表达式161
    7.3剖析StringBuilder162
    7.3.1基本用法162
    7.3.2基本实现原理162
    7.3.3String的 和 =运算符165
    7.4剖析Arrays166
    7.4.1用法166
    7.4.2多维数组171
    7.4.3实现原理172
    7.4.4小结174
    7.5剖析日期和时间174
    7.5.1基本概念174
    7.5.2日期和时间API175
    7.5.3局限性182
    7.6随机183
    7.6.1Math.random183
    7.6.2Random184
    7.6.3随机的基本原理185
    7.6.4随机密码187
    7.6.5洗牌189
    7.6.6带权重的随机选择189
    7.6.7抢红包算法191
    7.6.8北京购车摇号算法192
    7.6.9小结193
    第三部分泛型与容器
    第8章泛型196
    8.1基本概念和原理196
    8.1.1一个简单泛型类197
    8.1.2容器类199
    8.1.3泛型方法201
    8.1.4泛型接口202
    8.1.5类型参数的限定202
    8.1.6小结205
    8.2解析通配符205
    8.2.1更简洁的参数类型限定205
    8.2.2理解通配符206
    8.2.3超类型通配符208
    8.2.4通配符比较211
    8.3细节和局限性211
    8.3.1使用泛型类、方法和接口211
    8.3.2定义泛型类、方法和接口213
    8.3.3泛型与数组214
    8.3.4小结217
    第9章列表和队列218
    9.1剖析ArrayList218
    9.1.1基本用法218
    9.1.2基本原理219
    9.1.3迭代221
    9.1.4ArrayList实现的接口225
    9.1.5ArrayList的其他方法227
    9.1.6ArrayList特点分析229
    9.1.7小结229
    9.2剖析LinkedList229
    9.2.1用法230
    9.2.2实现原理232
    9.2.3LinkedList特点分析238
    9.3剖析ArrayDeque239
    9.3.1实现原理239
    9.3.2ArrayDeque特点分析244
    第10章Map和Set245
    10.1剖析HashMap245
    10.1.1Map接口245
    10.1.2HashMap247
    10.1.3实现原理247
    10.1.4小结256
    10.2剖析HashSet256
    10.2.1用法256
    10.2.2实现原理258
    10.2.3小结259
    10.3排序二叉树260
    10.3.1基本概念260
    10.3.2基本算法261
    10.3.3平衡的排序二叉树263
    10.3.4小结264
    10.4剖析TreeMap264
    10.4.1基本用法265
    10.4.2实现原理267
    10.4.3小结273
    10.5剖析TreeSet274
    10.5.1基本用法274
    10.5.2实现原理275
    10.5.3小结276
    10.6剖析LinkedHashMap276
    10.6.1基本用法276
    10.6.2实现原理279
    10.6.3LinkedHashSet282
    10.6.4小结282
    10.7剖析EnumMap283
    10.7.1基本用法283
    10.7.2实现原理285
    10.7.3小结287
    10.8剖析EnumSet287
    10.8.1基本用法287
    10.8.2应用场景288
    10.8.3实现原理291
    10.8.4小结294
    第11章堆与优先级队列295
    11.1堆的概念与算法296
    11.1.1基本概念296
    11.1.2堆的算法298
    11.1.3小结302
    11.2剖析PriorityQueue302
    11.2.1基本用法302
    11.2.2实现原理304
    11.2.3小结309
    11.3堆和PriorityQueue的应用309
    11.3.1求前K个优选的元素309
    11.3.2求中值311
    11.3.3小结314
    第12章通用容器类和总结315
    12.1抽象容器类315
    12.1.1AbstractCollection316
    12.1.2AbstractList319
    12.1.3AbstractSequentialList321
    12.1.4AbstractMap323
    12.1.5AbstractSet325
    12.1.6AbstractQueue325
    12.1.7小结326
    12.2Collections326
    12.2.1查找和替换327
    12.2.2排序和调整顺序329
    12.2.3添加和修改332
    12.2.4适配器333
    12.2.5装饰器338
    12.2.6小结342
    12.3容器类总结342
    12.3.1用法和特点342
    12.3.2数据结构和算法344
    12.3.3设计思维和模式344
    第四部分文件
    第13章文件基本技术348
    13.1文件概述348
    13.1.1基本概念和常识348
    13.1.2Java文件概述352
    13.2二进制文件和字节流355
    13.2.1InputStream/OutputStream355
    13.2.2FileInputStream/File-OutputStream357
    13.2.3ByteArrayInputStream/ByteArrayOutputStream359
    13.2.4DataInputStream/Data-OutputStream361
    13.2.5BufferedInputStream/BufferedOutputStream363
    13.2.6实用方法364
    13.2.7小结365
    13.3文本文件和字符流365
    13.3.1基本概念366
    13.3.2Reader/Writer368
    13.3.3InputStreamReader/Output-StreamWriter368
    13.3.4FileReader/FileWriter369
    13.3.5CharArrayReader/Char-ArrayWriter370
    13.3.6StringReader/StringWriter370
    13.3.7BufferedReader/Buffered-Writer371
    13.3.8PrintWriter372
    13.3.9Scanner374
    13.3.10标准流374
    13.3.11实用方法376
    13.3.12小结377
    13.4文件和目录操作378
    13.4.1构造方法378
    13.4.2文件元数据378
    13.4.3文件操作379
    13.4.4目录操作380
    第14章文件高级技术383
    14.1常见文件类型处理384
    14.1.1属性文件384
    14.1.2CSV文件385
    14.1.3Excel388
    14.1.4HTML389
    14.1.5压缩文件391
    14.2随机读写文件394
    14.2.1用法394
    14.2.2设计一个键值数据库BasicDB396
    14.2.3BasicDB的实现397
    14.2.4小结401
    14.3内存映射文件402
    14.3.1基本概念402
    14.3.2用法403
    14.3.3设计一个消息队列BasicQueue404
    14.3.4实现消息队列406
    14.3.5小结409
    14.4标准序列化机制409
    14.4.1基本用法409
    14.4.2复杂对象411
    14.4.3定制序列化411
    14.4.4序列化的基本原理413
    14.4.5版本问题414
    14.4.6序列化特点分析414
    14.5使用Jackson序列化为JSON/XML/MessagePack415
    14.5.1基本概念415
    14.5.2基本用法415
    14.5.3容器对象418
    14.5.4复杂对象419
    14.5.5定制序列化420
    14.5.6Jackson对XML支持的局限性428
    14.5.7小结428
    第五部分并发
    第15章并发基础知识430
    15.1线程的基本概念430
    15.1.1创建线程430
    15.1.2线程的基本属性和方法432
    15.1.3共享内存及可能存在的问题435
    15.1.4线程的优点及成本438
    15.2理解synchronized439
    15.2.1用法和基本原理439
    15.2.2进一步理解synchronized443
    15.2.3同步容器及其注意事项445
    15.3线程的基本协作机制450
    15.3.1协作的场景450
    15.3.2wait/notify450
    15.3.3生产者/消费者模式453
    15.3.4同时开始455
    15.3.5等待结束456
    15.3.6异步结果458
    15.3.7集合点461
    15.3.8小结462
    15.4线程的中断463
    15.4.1取消/关闭的场景463
    15.4.2取消/关闭的机制463
    15.4.3线程对中断的反应464
    15.4.4如何正确地取消/关闭线程467
    15.4.5小结467
    ……
    第16章并发包的基石468
    16.1原子变量和CAS468
    16.2显式锁473
    16.3显式条件483
    第17章并发容器490
    17.1写时复制的List和Set490
    17.2ConcurrentHashMap493
    17.3基于跳表的Map和Set498
    17.4并发队列501
    第18章异步任务执行服务505
    18.1基本概念和原理505
    18.2线程池513
    18.3定时任务的那些陷阱518
    第19章同步和协作工具类527
    19.1读写锁ReentrantReadWrite-Lock527
    19.2信号量Semaphore529
    19.3即将开始门栓CountDownLatch531
    19.4循环栅栏CyclicBarrier533
    19.5理解ThreadLocal535
    第20章并发总结541
    20.1线程安全的机制541
    20.2线程的协作机制543
    20.3容器类544
    20.4任务执行服务546
    第六部分动态与函数式编程
    第21章反射550
    21.1Class类551
    21.2应用示例559
    21.3反射与泛型561
    第22章注解564
    22.1内置注解564
    22.2框架和库的注解566
    22.3创建注解568
    22.4查看注解信息570
    22.5注解的应用:定制序列化571
    22.6注解的应用:DI容器573
    第23章动态代理577
    23.1静态代理577
    23.2Java SDK动态代理579
    23.3cglib动态代理584
    23.4Java SDK代理与cglib代理比较585
    23.5动态代理的应用:AOP585
    第24章类加载机制592
    24.1类加载的基本机制和过程593
    24.2理解ClassLoader594
    24.3类加载的应用:可配置的策略597
    24.4自定义ClassLoader598
    24.5自定义ClassLoader的应用:热部署599
    第25章正则表达式603
    25.1语法603
    25.2Java API612
    25.3模板引擎618
    25.4剖析常见表达式619
    第26章函数式编程628
    26.1Lambda表达式628
    26.2函数式数据处理:基本用法637
    26.3函数式数据处理:强大方便的收集器647
    26.4组合式异步编程658
    26.5Java 8的日期和时间API668

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购