技术头条(投递你的文章)     搜索本站     邮件订阅     微信号:IT技术博客大学习
您现在的位置首页 --> Java
     本文总结了一些有关java中enum枚举类型的用法。
    目前已经看完了三本书:深入理解Java虚拟机:JVM高级特性与最佳实践、Oracle查询优化改写技巧与案例、Effective Java。其中深入理解jvm这本书确实是一本神书,看完之后真的有种豁然开朗的感觉,期待三遍之后给我醍醐灌顶的感觉。Oracle查询优化,感觉一般般。Effective java,四大圣经之一不做解释。
    我们希望这一快速浏览已经激起了你的Maven中的通用性兴趣。请注意,这是一个非常截断快速入门指南。现在,你已经准备好关于你刚才执行的动作更全面的信息。
    前言 在Java语言开发过程中,out of memory错误是很常见的一种错误。对于JVM的内存结构有更深入的了解,更更好的帮我们排查此类问题,有效的避免此类问题发生。在JAVA 8中内存结构有进行了改变,Metaspace替代了PermGen。
    对于InterruptedException,一种常见的处理方式是捕捉它,然后什么也不做(或者记录下它,不过这也好不到哪去)。不幸的是,这种方法忽略了这样一个事实:这期间可能发生中断,而中断可能导致应用程序丧失及时取消活动或关闭的能力。
    1.基本语法 注解定义看起来很像接口的定义。事实上,与其他任何接口一样,注解也将会编译成class文件。。。。
    在前面我们介绍的客户端与服务器端通信的小程序,当一个客户端退出通信时服务器端也结束了,不满足我们对于服务器端的定位。通常服务器应该可以同时接受多个客户端的链接,并且客户端结束后服务器端应该正常运行。所以服务器端接受链接的代码应该一直接受新的客户链接,每个客户有一个独立的程序处理,相互之间不影响,这种场景成为并发。那么什么是并发,我们一起了解一下。
    ​虽然计算机的历史才六七十年,但是研究机器计算的历史非常久远,历史上很多杰出的数学家使用10进制进行了大量的研究,20世纪人类使用电位表示2进制(0,1),计算机才有了飞速的发展。计算机的存储和网络传输都是2进制,每个位为一个bit,每8bit为一个字节。后来计算机的用途逐渐从纯粹的数学计算扩展到各个方面,为了表示文字使用固定2进制串表示各种字符集,这种方式叫编码。目前存在的编码方式各种各样,其中我们会用到的包括ASCII主要表示英文相关字母和符号,GBK编码双字节表示中文常用字符集,UTF-8使用1-3个字节常用中文字符集。如果不涉及与GBK字符集编码的应用交互,最好使用UTF-8字符集进行开发。
    继承是面向对象的三个特性之一,Java语言通过继承父类和实现接口两种方式实现继承。Java的继承有两个比较重要的特点:单继承结构,每个类只能有一个父类;所有的类继承java.lang .Object类。Object类中包含了多个默认实现的方法,其中常用的有3个,hashCode,equals,toString。
    LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。每个使用LockSupport的线程都会与一个许可关联,如果该许可可用,并且可在进程中使用,则调用park()将会立即返回,否则可能阻塞。如果许可尚不可用,则可以调用 unpark 使其可用。但是注意许可不可重入,也就是说只能调用一次park()方法,否则会一直阻塞。
    上篇博客稍微介绍了一下AQS,下面我们来关注下AQS的所获取和锁释放。
    参考Java的内置锁,对于JUC同步器而言,他应该具备两个最基本的功能:获取锁,释放锁。其中获取锁应该是先判断当前状态是否可以获取,如果不可以获取则处于阻塞状态,释放应该是释放后修改状态,让其他线程能够得到该锁(唤醒其他线程)。
    ​内存中的数据在程序重启或者服务器重启时会丢失,所以数据需要保存在硬盘中,关系型数据库是比较常用的数据存储方式,采用二维表(行列)模型存储的方式更加容易理解,关系型数据库有很多oracle, mysql 和 sql server是比较常用的,java web项目中经常使用mysql作为数据库存储。
    ​前面我们介绍到了form表单,其中action属性是把表单数据提交的路径,那么数据在服务器端是怎么处理的呢?我们一起来学习一下java servlet开发实现数据在服务器端的处理。
    Java SE 8提供的新语言特性并不算多——lambda表达式,方法引用,默认方法和静态接口方法,以及范围更广的类型推导。但是把它们结合在一起之后,开发者可以编写出更加清晰简洁的代码,类库编写者可以编写更加强大易用的并行类库。
    在技术方面无论我们怎么学习,总感觉需要提升自已,却又不知道从哪里着手,同时也不知道自己处于哪个水平。这时候就需要有清晰的指示图来指引我们,这样我们能清楚的知道我们在哪方面不足,以及自己大概处于哪个阶段和水平。
    一、Java基础1. String类为什么是final的2. HashMap的源码,实现原理,底层结构。3. 说说你知道的几个Java集合类:list、set、queue、map实现类。4. 描述一下ArrayList和LinkedList各自实现和区别5. Java中的队列都有哪些,有什么区别。6. 反射中,Class.forName和classloader的区别。7. Java7、Java8的新特性8. Java数组和链表两种结构的操作效率,在哪些情况下(从开头开始,从结尾开始,从中间开始),哪些操作(插入,查找,删除)的效率高。9. Java内存泄露的问题调查定位:jmap,jstack的使用等等。10. string、stringbuilder、stringbuffer区别11. hashtable和hashmap的区别13 .异常的结构,运行时异常和非运行时异常,各举个例子。
    Jetty 8 长连接的超时断开连接的机制:超时连接机制针对IO传输过程中的数据阻塞时间超过一定阈值时,断开该连接。阻塞指当前处于数据传输阶段,但是连续指定时间内都没有发出或者接收到任何数据时,Jetty系统断开该连接。强调一下,只有在数据传输过程中才会有超时机制。在服务端处理已经收到的数据时是不会检测该超时时间的。
    DSL(Domain Specific Language)指的是一定应用领域内的计算机语言,它可以不强大,它可以只能在一定的领域内生效(和GPL相比,GPL是General Purpose Language),表达仅限于该领域,但是它对于特定领域简洁、清晰,包含针对特定领域的优化。 当我们面对各种各样的特定需求的时候,一个通用的语言往往不能高效地提供解决问题的路径,相应的DSL并不是并非要解决所有的问题,但是它只关注于某一个小领域,以便解决那一个小领域的问题就好了。
    总结一下,常用容器有4种: List容器,主要特点有序,值可以重复,主要子类ArrayList,另外一个文章没有提到的LinkedList,在容器中值更新频繁的场合下使用。 Set容器,主要特点,无序,值不可重复,主要子类HashSet。 Map容器,键值对存储,无序,不可重复,主要子类HashMap。 数组,主要特点有序。
[共46篇文章][第1页/共3页][1][2][3]
© 2009 - 2017 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号