当前位置:首页 » 文件管理 » resin缓存

resin缓存

发布时间: 2023-11-16 13:13:07

java工程师需要掌握什么技能

全面系统的Java内容如下:

一、JavaSE基础篇

JavaSE就是一种标准版,是Java语言的基础部分,Java衍生出来的各种框架(如Spring系列)各种产品都是基于JavaSE标准,JavaSE是Java向上发展的基础,Java任何高级产品的底层基础都是JavaSE,通俗来讲这是所有孩子的”爹“。JavaSE如果学不好,理解不透彻,后面学习框架时就有如天书一般,所以JavaSE这部分的重要性是不言而喻的,希望各位初学者铭记。

主要包含内容:数据类型、基础语法、运算符、流程控制、数组、面向对象、常用类、异常处理、集合、IO流、多线程、反射、注解、解析、网络编程

PS:JavaSE的内容非常庞大,任何一套JavaSE教程都不会把所有的方法讲一遍,只会挑平时工作中常用的内容来讲解,所以JavaSE里面的内容很多都是课后自己在API文档中慢慢宽咐了解的,你自己一定要学会主动学习,不能坐以待毙。

推荐学习书籍:Java核心技术

二、数据库

数据库是学习Java语言必学的一项内容,常见的数据库就是MySQL和Oracle这两种,作为初学者一般都是学习MySQL为主,一般情况下中小型企业都会选择MySQL数据库,比较大型的互联网公司会选择用Oracle,而学习Oracle相对于MySQL也要复杂一庆乎些,建议是主要学习MySQL数据库,Oracle作为了解即可。学习数据库较为简单,基本的操作就是增删改查。

三、Web开发

Web前端内容:HTML/CSS/JavaScript/(前端页面)

注意:Java后端开发可以不用过多关注HTML页面及CSS的处理,但是最起码要会用简单的HTML,JavaScript是必须要会的,因为Javaweb后端程序员毕竟要接触使用AJAX方式处理数据及显示。当然如果只关注服务器端实现而不考虑任何用户界面,则HTML、CSS、JavaScript都不用关注,但是完全脱离前端的开发现在虽然也不少,但是绝对不关心前端是不可能,尤其是JavaScript,但是前端却可以完全不关心服务器后台的任何实现。

推荐学习书籍:《JavaScript DOM编程艺术》(第二版)

四、高级框架

1、Springframework 核心IOC容器

2、Spring boot 在Spring基础上的更全面提升效率的Spring工具

3、ORM 框架当今流行使用较多的是Mybatis 和 MP(Mybatis插件),Hibernate是可选性学习的

4、模板技术,比较成熟的Freemarker

5、Spring Cloud 微服务框架,Spring Cloud提供的全套的分布式系统解决方案。

五、工具

maven 是构建管理项目的工具,svn 和git是团队协作开发的项目源代码及相关文档资料管理工具,需要学习者初步掌握其应用。

像Tomcat,jetty ,resin,JBoss,GlassFish 等都是部署运行Java web应用的服务器。

以上就是初学者大概学习的内容,我是尽量站在初学者的角度来说的,没有写得特别复杂,怕初学者看不懂,没有实质性的帮助。所以我尽量用白话把话说的简单一些,给大家罗列出主要学习的Java知识点。

Java学到什么程度才能达到就业的水平?

不同的软件公司对研发人员的水平要求存在一定的差异,如果从大多数中小型企业来看能接受一个入职到本企业的IT技术人员通常需要具备以下能力。

1 理解掌握Java核心面向对象的设计思想和代码构建,能以面向对象方式设计编写业务功能;

2 熟练掌握至少两种数据库的开发,如Oracle,mySql,能熟练编写基本常用及高级的SQL语句;

3 必需掌握并熟练应用Springframework IOC容器,深入了解IOC及AOP概念并应用,使用MVC实现对web 请求作出处理;

4 熟练掌握Java处理数据库的ORM框架myBatis,JDBCTemplate,对Hibernate也应有所了解;

5 熟练应用Spring 增强工具集合Spring boot;

6 至少熟练使用Eclipse及IDEA集成开发工具构建应用程序;

7 能够基本掌握MVN GIT Maven 在项目中的使用;

8 前端开发必需掌握JavaScript和常用的JS框架

以上这些都是中小型软件企业的入职基本要求,如果你能够达到这个水平,找到一份Java工作应该是不难的。

推荐的学习方式:系统视频教程+书籍辅助+有人指导

视频教程:对于Java初学者来说,看视频学习也是最普通的方式,视频教程会把工作中常用的知识进行讲解,而且视频一般都是分章分节,每一个小节都只讲一个知识点,学习起来较为明确。但是视频教程尽量要完整,最好是一整套视频学习。

书籍辅助:书籍便于对理论知识的补充,以便更容易理解Java面向对象核心设计理念和代码实践功能。

PS:但是大部分人都没有耐心看不下去书,所以大部分人都是只看视频教程学习。如果自己能看的下去就看,看不下去就不看。

有人指导:大部分人都不可能全靠自己的能力把Java学的特别好,因为你不了解这个行业,也不知道怎么学,完全零基础自学Java想要找到工作,概率极低。所以建议如果真的想要做这行,尽量找人去带带你,有不懂的问题可以直接请教,少走弯路,提高效率。学习的质量决定以后工作的薪资以及起点,所以还是应该重视起来。

最终自学Java能就业的人基本具备以下几点:

1、有超强的学习耐心及进取心

2、手不懒,代码写的足够多,熟能生巧

3、有一定的学习能力,善于自学善于自己解决问题

4、可以独立写一些简单的项目

② 如何通过mat从java内存mp中找到缓存对象中的所有字符串

生成java内存mp文件

标准做法,jmap mp,需要sudo权限,另外jmap指定的mp文件一定要是启动服务的用户可写,比如可以新创建一个文件夹

sudo mkdir /home/q/memmp
sudo chown resin:resin /home/q/memmp

sudo -u resin /home/q/java/default/bin/jmap -mp:live,format=b,file=/home/q/memmp/memMap.20130527.hprof ${pid}

把mp文件拿到本地

把mp文件压缩下,否则会很大,scp到本地

安装mat

直接在eclipse里:

1.Help->Install New Software

2.输入update site: http://download.eclipse.org/mat/1.2/update-site/,然后一直next就行了,安装完重启eclipse

3.最好创建一个单独的workspace来放内存mp文件

把mp文件导入mat

1.打开eclipse,选择上一步你创建的存放内存mp文件的workspace,我本机上是~/mat
2.打开刚才拿到本地的mp文件,然后等着mat解析就完了,注意这时候你可能需要修改eclipse安装文件下的eclipse.ini,调整下eclipse的jvm参数(xms和xmx),把heap调大些,否则解析过程会报OOM

3.解析完后会生成一个Overview,我们一般会选择org.apache.catalina.loader.WebappClassLoader,作为分析top
consumer的切入点,这是tomcat上web应用的classloader

4.单击饼图上org.apache.catalina.loader.WebappClassLoader的区域,会出现一个弹出菜单,选择List
Objects->with incoming references,因为所有的web应用内的对象都会引用它们自己的class
loader,也就是org.apache.catalina.loader.WebappClassLoader
5.得到如下所示列表,单击retained heap这个tab标签可以排序,选择按照占用内存的大小倒排序,得到了top memory
consumers列表

定位缓存对象

我们关心的是top consumer里的RtTreeCache里,有多少重复房型,怎么得到的呢,follow the steps:

1.查看RtTreeCache对象的outgoing
reference,因为我们需要看这个对象里面的属性,属性对象也就是RtTreeCache对象引用的对象,也就是outgoing reference

2.找到我们需要分析的数据在对象结构中的位置

3.可以看到我们要查找的目标是RtTreeCache对象下的所有HotelRtTree对象的rtReverseMap对象属性下的table数组内所有entry的key,我们接下来就看看怎么把这个冗长的关系转化成一个简单的OQL语句

写MAT OQL

OQL是MAT里的一个内嵌查询语言,它的官方描述很形象:
Memory Analyzer has a built-in object query
language (OQL) that allows to query the heap mp with custom SQL-like queries. Just
think of classes as tables, objects as rows, and fields as columns.

总结

jmap + mat是我们分析java内存的利器,而通过mat
oql,我们可以从mp文件里提取出更多的类似于有多少内容相同的不同字符串对象等信息来帮助我们做技术决策。

热点内容
opengl服务器源码 发布:2025-01-22 15:40:02 浏览:908
python部署服务 发布:2025-01-22 15:38:46 浏览:282
压缩机卡装 发布:2025-01-22 15:37:04 浏览:446
每天跑步40分钟可以缓解压力吗 发布:2025-01-22 15:33:24 浏览:448
线性表的链式存储结构与顺序存储 发布:2025-01-22 15:32:45 浏览:295
解压缩大师 发布:2025-01-22 15:26:51 浏览:386
xp访问win7共享打印机无权限 发布:2025-01-22 15:23:22 浏览:830
python中pandas 发布:2025-01-22 15:21:42 浏览:639
编程系列书 发布:2025-01-22 15:10:16 浏览:402
北京电脑服务器托管物理机 发布:2025-01-22 15:10:05 浏览:782