哪位大神可以告诉我web项目里的action、dao/model、service、util里都是干什么的吗?
这是一个典型的MVC的模式
action 主要是struts2,用来进行跳转的,比如jsp页面提交表单就是进入到action action在调用service的里面的逻辑,最后返回到客户端jsp页面响应请求。
dao 就是用来存放对数据库的操作的方法 没有逻辑 就是增删改查
model 就是java bean 或者pojo用来存放实体对象
service 是用来进行业务逻辑的,比如从action进到service 进行了哪些操作都在这里
util 是工具包 用来存放一些工具类 比如日期转换等
jre jdk 的配置文件
referenced Library和webappLibrary 存放jar文件
webroot 存放一下jsp或者jscss等前端显示文件还有其他的配置文件web.xml等
java电商项目,什么场景需要使用多线程?
场景一:一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。
场景二:需要知道一个任务的执行进度,比如我们常看到的进度条,实现方式可以是在任务中加入一个整型属性变量(这样不同方法可以共享),任务执行一定程度就给变量值加1,另外开一个线程按时间间隔不断去访问这个变量,并反馈给用户。
总之使用多线程就是为了充分利用cpu的资源,提高程序执行效率,当你发现一个业务逻辑执行效率特别低,耗时特别长,就可以考虑使用多线程。不过CPU执行哪个线程的时间和顺序是不确定的,即使设置了线程的优先级,因此使用多线程的风险也是比较大的,会出现很多预料不到的问题,一定要多熟悉概念,多构造不同的场景去测试才能够掌握!
研究生做java程序员有前途吗?
您好,很高兴回答您的问题,因为我本身也是一个程序员,而且主语言也是java,对这些还是比较了解的。
首先给你个结论,做java开发是互联网入门基础,还是很有前途的,下面我来讲下原因:
1.职位需求:目前各大公司使用java开发的数量还是多的,几乎每个公司都需要有java开发的岗位,这个可以从智联招聘,猎聘等知名网站可以拿到统计数据。而且可以看到全国各地都有需求,没有明显的地域限制。
2.岗位薪酬:目前纯java开发的薪酬属于互联网中的中等,因为java从业人员众多导致薪酬上不去。但是基于java开发经验,更专业全面的人才薪酬也是十分高的,例如架构师等。
3.职业发展方面:java语言容易上手,而且很多大的公司,例如阿里巴巴都是用java做开发语言。java语言学好后,能很容易的学会其他领域知识,例如大数据方向,物联网方向。java语言博大精深。很多思想方法都是很值得借鉴的,掌握这样去学另外一种语言简直信手拈来。像我熟练掌握java后,学习python scala语言只需要几个小时就能上手。
讲完了java好的一面,再讲一下缺点:
1.因为java容易上手,所以做java的人非常多,导致java评论薪酬不能达到很高水平。
2.java语言一般多用于普通的业务系统,很多人会被业务问题一直拖住,影响自己技能的进步。
好了,再总结一下,java是门好语言,很好就业,收入也不错。但是想要有更好的发展,必须要不停的学习,不停的进步,这样才能不被时代抛弃。祝学业进步。

