core释放在哪里提币(core 币)
刚入门java,有什么网站可以有题让我练习呢?
本人计算机科学与技术专业,从事java有4年了。分享下自己的学习网站吧。
1.牛客网
主要服务于国内广大程序员。产品规模很大,包括了it题库、在线编程练习、线上课程、社区、笔试服务、还有竞赛。用户基本覆盖全国高校百万的程序员学习者。在国内互联网公司有良好的口碑,为国内众多的互联网公司提供了校园招聘,竞赛等服务。具备基本每个领域的笔试算法题,值得收藏。
2.利扣 leetcode
这个网站有国际版和国内版,平常我们进国内版的就行了啊,当然英文好的也可以使用国际版,这里非常建议大家使用国际版,交流的技术存在差异,但是题目基本一致,不需要担心。
地址:leetcode-cn.com
利扣被国内外程序员称为刷题神器。甚至有人说,你如果掌握了百分之80左右,各互联网公司提供的算法岗位你只要对比下谁的工资高就好了。
它基本覆盖了全互联网公司的算法题目,还有数据库等技术,并且提供了交流平台,国内过各种大神将自己的解答想法分享出来,有些巧妙的解答确实会令人拍案叫绝。普遍都是国外人,但是国内人也特别多,当然是国际版才是这样的。
如果单单是学习练习java编程的,这两个网站可以满足了,关键就是提升你的编程思维能力。
要学习java核心技术还是建议购买java相关书籍或者在网上课堂学习。
核心推荐:LintCode / LeetCode / 牛客网
不是什么程序员,但是大一大二大三自己都是自学过来一直学到JavaEE的,还是有些经验的。
JavaSE阶段,找个牛逼点的基础视频课听过后,建议找一些小游戏编着玩,贪吃蛇啊2048啊坦克大战啊,学习一下怎么一步步搭出一个小游戏。可以找网上的视频课,网易云课堂还有一些培训机构都有做小游戏的视频,听老师一步步讲思路后,自己尝试一下他的思路是要怎么做,敲完后再比对一下。
基本做了三个小游戏下来,Java就不是很陌生的东西了,这时候建议上LintCode或者LeetCode刷题,每天两到三小时在这上面。里面的题都是最常规的API解决各种面试用算法题。没系统学过算法?也不要紧,建议买本《算法》橙皮书,然后先从LeetCode之类的简单题做起,不懂就看discuss或者别人博客是怎么想的,看懂后自己不看别人代码实现一遍。
其中如果牵涉到某个算法,比如动态规划,你从未接触过,不要怕,这道题放着,翻开橙皮书现学呗,看不懂慢慢看,看完后盲敲示例代码,这样对基本代码素养有很大帮助。啃完这个知识点,再回去继续刷题。
私以为,JavaSE阶段最重要的不是IO操作啊什么的,还是LeetCode里面向招聘的算法题。
如果你很想加强Java文件流和网络,网上找视频做个JavaSE聊天项目或者文件收发项目是最简单的,跟学一次练一次就没有大问题了。
线程很重要。多线程是很复杂的,其中牵涉到的知识还得专门看诸如《并发编程实战》之类书来提升,建议前期了解基本的同步操作就够了,等到学到JavaEE阶段,会用SSMH这些框架后,再来开始边做项目,边研究线程同步这种问题。
JAVA架构之线程池是怎样工作的?
java.util.concurrent包中我们能找到线程池的定义,其中ThreadPoolExecutor是我们线程池核心类,首先看看线程池类的主要参数有哪些。
corePoolSize:线程池的核心大小,也可以理解为最小的线程池大小。
maximumPoolSize:最大线程池大小。
keepAliveTime:空余线程存活时间,指的是超过corePoolSize的空余线程达到多长时间才进行销毁。
unit:销毁时间单位。
workQueue:存储等待执行线程的工作队列。
threadFactory:创建线程的工厂,一般用默认即可。
handler:拒绝策略,当工作队列、线程池全已满时如何拒绝新任务,默认抛出异常。
线程池工作流程
1、如果线程池中的线程小于corePoolSize时就会创建新线程直接执行任务。
2、如果线程池中的线程大于corePoolSize时就会暂时把任务存储到工作队列workQueue中等待执行。
3、如果工作队列workQueue也满时:当线程数小于最大线程池数maximumPoolSize时就会创建新线程来处理,而线程数大于等于最大线程池数maximumPoolSize时就会执行拒绝策略。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。