首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

Java-学习笔记-4-抽象

不足之处,欢迎专家、同行、读者批评指正。 上一篇在说类库文件时提到了封装,不够严谨,这一篇来简单讲讲。 抽象和封装,这是面向对象程序设计中的一个重要思想。换句话说,是思维方式的转变。以前我们编程,是围绕某一个问题的,研究它的过程是怎样的。现在嘛,是考虑不同的对象之间的信息传递,更适合来写不同对象交互信息的业务。 先说说抽象。最关键的在于属性和功能。举个例子吧,比如说现在你要去图书馆借书,那对你来说,你的属性就是个人ID,借阅权限,借了几本书等等,图书馆那边对象很多,比如说管理员、书等等。你们之间的业务往来,就可以看作功能。 更直白点说,属性通常就是信息的那个值,编程时我们写成int的这种,所谓的功能就是对这个值进行操作的函数或者说方法。当然啦,一个类之中嵌套另一个类,并且把里边的那个类看做是成员变量,这种情况也是有的,不过在理解含义时可以把它和上文的“值”看作一回事。

优秀的个人博客,低调大师

Java-学习笔记-6-继承

不足之处,欢迎专家、同行、读者批评指正。 我们写代码,当然是希望越简单越好——这个简单是说简洁没有废话,但也不是极端的少,而是必须便于理解,不是秀操作的那种一行写完原本十行的逻辑,让别人读起来像做解谜游戏一样。 继承就有这个好处。 在面向对象的思想中,我们操作的是一个个的对象。如果对象之间有从属关系,我们再去写其中相同的内容,岂不是很多余?这时候就该用上继承了。 当然,继承的作用远不止如此。 继承、多态、某种角度还可能要算上接口,这些是需要打通理解的知识点。

优秀的个人博客,低调大师

Java-学习笔记-7-多态

不足之处,欢迎专家、同行、读者批评指正。 关于多态,我在学的时候遇到了不同的划分范畴的说法。一种理解是,子类对象分别各自实现父类对象的同一个方法。而我本科所用的教材,则是说这个有子类对象作为父类对象引用、子类对父类方法的覆盖、同一个类中方法的覆盖。(因为这个是之前面试时我和面试官分歧的地方,所以印象深刻,他持第一种观点,认为我提到的“同一个类中方法的覆盖”这个不是多态) 之前写了几篇文章,似乎没什么人关注。如果有人关注的话,稍后我会补上自己总结的用来理解的代码示例。

优秀的个人博客,低调大师

Java并发程编程艺术》重点总结

synchronized修饰的代码块同步执行,不在synchronized块中的代码会异步执行,因此推荐用同步代码块,而非同步整个方法。 synchronized修饰同步方法和代码块,一定是排队运行的(线程独占)。 多线程访问“共享变量”,才需要加同步。 同步不能继承。 当一个线程执行的代码出现异常,其持有的锁会自动释放。 synchronized加到static方法上是给Class类上锁。 synchronized加到实例方法上,是给对象上锁。 String常量池缓存,synchronized代码块加锁一般不使用String。 synchronized代码块具有volatile同步变量到主内存的功能。 wait()和notify()都是在同步方法、代码块中使用。 执行notify()后不会立即释放对象锁,等执行完synchronized代码块才释放,然后其他wait状态的线程才可以获得该对象锁。 线程间通信,可使用管道字节流、管道字符流;建立通信的管道两端,都是阻塞的,即写端无写入时,读端将会阻塞。类似于 Linux进程通信的pipe。 PipeInputStream/PipeOutputStream PipeReader/PipeWriter ReentrantReadWriteLock 具有读和写两个锁;读读共享锁、写写排他锁、读写排他锁(有写 就互斥)。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册