java应该掌握些什么呢?
Java基础:
Java原理和使用:看《Java编程思想》即可,这本书应经常带在身边,是Java程序员人手一本的工具。
JSP+Servlet:这是javaWeb开发的基础,应该熟练使用。
服务器:
1、WebLogic的原理、使用和配置,如果要把JavaWeb程序跑起来,不会用WebLogic可不行啊。
2、Tomcat:轻量的JavaWeb容器,和WebLogic功能类似,使用简单、方便、免费、开源,不过不支持EJB。
3、JBoss:类似于Tomcat,功能更强,支持EJB。
这三种服务器至少掌握其中的一种是很必要的。
框架:
1、Struts:前边详细说过了,必须掌握。
2、Hibernate:建议掌握。
3、Spring:建议掌握。
4、Tapestry:这是一个新的MVC框架,使用组件式开发,是显示层技术的发展趋势。建议了解。
5、Flex和Laszlo:新的显示层技术,支持富客户端应用,是目前的较前沿的显示技术。建议了解。
6、普元EOS:一个国产的面向构建开发平台,国际上还没有同类产品,我国算是国际领先了。它把开发人员从传统的代码编写中解放出来,只需要在图形化界面中拖拉线段和组件、配置参数,就可以完成软件开发了。适合大公司快速开发软件项目,而且是收费的。建议了解。
JavaWeb开发周边技术:
Html、javascript、CSS、XML、XSLT,这些是开发中经常使用到的,应该熟练掌握。
开发工具:
Dreamweaver、Eclipse或Jbuilder、PL/SQL
数据库:
Oracle必须会用、SQLServer掌握、MySQL可以在自己学习时使用。DB2那种东西就不要学了,国内太少使用了。
软件工程:
可以理解UML设计和使用UML进行简单设计。
对于IT界来说,书太落后了,还是花时间学些前沿的东西吧!
既然大家选择了IT这条路,想法应该和我差不多,这是最热门最前沿的技术,要义无反顾的投身其中。不过在你纵身之前,请先问问自己:我,准备好了吗?
相关推荐
Qt快速读取Excel文件
网上很多读取方式都是如下形式,太慢了,打开文件+读取文件要6s以上,实在是受不了! QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); QAxObject *work_books = excel.querySubObject("WorkBooks"); work_boo...
Java 9 ← 2017,2019 → Java 13 ,来看看Java两年来的变化
距离 2019 年结束,只剩下 10 几天了。你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天, 的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈,人们纷纷晒出自己2017和2019的照片对比。 作为一个技术宅,我也做了一个对比: 2017 年 9 月 21 日,Java 9 正式发布,并且在2017年8月,JCP执行委员会提出将J...
修复ASUS in WinRE教程
暑假入手了天选三,发现是win11家庭版,本来想着家庭版将就一下无所谓,结果在使用的过程中发现相较于专业版真的是不能比,于是自己就重装了系统,发现ASUS in WinRE入口不见了,折腾半天最后成功修复。
安装了多个java 如何切换java版本
修改`JAVA_HOME`中的地址即可,可写个程序来快速修改.
MATLAB2021b详细安装教程
1.下载 2.安装 下载安装包后打开iso文件,若是无法打开请用解压软件打开。 ①打开MATLAB_R2021b_win64,双击软件开始安装 ② 一直点击下一步,直到步骤③ ③选择我已有我的许可证的文件密钥,并输入62551-02011-26857-57509-64399-54230-13279-37181-62117-65158-40352-64197-45508-24369-45954-39446-39538-16936-10698-58393-44718-32560-10501-40
海康工业相机使用教程
海康工业相机连接电脑教程
【Java】从java8到java17各版本新特性详解
下面这张图是 Oracle 官方给出的 Oracle JDK 支持的时间线,可以看出,JDK 17的支持时间最长,可以延续到2029年9月。考虑到技术更新的速度,这次免费商用8年的时间可谓是经过精心考虑,旨在让用户放心地升级到JDK 17(不过JDK 8的支持时间更长,可以延续到2030年12月)。从JDK诞生到现在,仅有几个版本得到了长期支持,主要包括JDK 7、JDK 8、JDK 11以及即将发布的JDK 17,它将是继Java 8之后最重要的LTS版本,是Java社区八年努力的成果。
从ARM转战TI DSP:手把手教你用CCS 10.1.1搭建F280049C的第一个工程(含CMD文件避坑指南)
本文详细介绍了从ARM开发转向TI DSP(TMS320F280049C)的完整流程,包括CCS 10.1.1开发环境配置、工程搭建、CMD文件避坑指南以及外设开发实战。特别针对ARM开发者常见的DSP特性差异问题提供了解决方案,帮助初学者快速入门DSP开发。
Java笔记——Java命令大全
使用jstat命令可以实时查看Java应用程序的性能状况,例如堆内存的使用情况、类加载器的状态、JIT编译器运行时间等重要信息,有助于开发人员及时发现性能问题并进行优化。需要注意的是,jstack命令只能获取Java进程当前的线程信息和调用栈信息,并不能记录历史数据,如果需要跟踪Java进程的历史性能指标,建议使用其他性能分析工具。-source version:指定要编译的Java源代码的版本(例如,-source 8表示使用Java 8的语言功能进行编译)。
最终篇——SWAT模型的建立
同理,Soil Data也是同样的方法导入,在Soil Database Options的选项中,选择UserSiol,用同样的方法导入土壤类型,进行重分类。打开窗口后,只定义HRU Thresholdes,其余两个不用设置,设定各数据单元的计算率,这里的10%的意思是计算精度,即分成级HRU计算单元太小,小于平均计算单元的10%,我们就不对这HRU单元进行计算(也就是说太破碎的计算单元不进行计算),若选择0%意味着全部进行计算,需要耗费大量的内存和时间,对计算机要求较高,不建议。
装配完整性检查系统:基于YOLOv10的螺丝/零件缺失自动检测(含UI界面与完整代码)
建议自行采集装配场景数据,标注缺失螺丝、错误零件等,模拟真实缺陷。手机/工业相机采集图像;使用LabelImg进行目标标注;转换为 YOLO 格式。本文构建了一个完整的装配完整性检测系统,基于 YOLOv10 实现高精度螺丝缺失检测,并使用 PyQt5 构建了图形界面,实现一键导入与可视化检测流程,适用于工业质检自动化部署。项目可灵活扩展至零件缺失、错装、错位、顺序错误等检测场景,是深度学习在制造业中落地的典型应用案例之一。
一文搞懂 Java、Java EE、Java SE 和 Java Web
在学习和使用 Java 编程语言的过程中,我们常常会遇到“Java SE”、“Java EE”、“Java ME”和“Java Web”这些术语。对于很多开发者尤其是新手来说,这些术语可能会显得有些混淆。理解它们的区别和联系对于选择适合的技术栈和提高编程效率非常重要
用miniconda建立PyTorch、Keras、TensorFlow三个环境
如果还没有安装Miniconda,请从[Miniconda官网](https://docs.conda.io/en/latest/miniconda.html)下载合适的版本并进行安装。如果遇到问题,可以通过编辑`~/.condarc`文件来临时禁用某个源,或者通过`conda config --remove channels`命令来移除配置的镜像源。要切换到不同的环境,先使用`conda deactivate`命令退出当前环境,再用`conda activate 环境名称`命令激活另一个环境。
Java 8、Java 11、Java 17和Java 21的比较
从Java 9开始,Oracle引入了新的六个月发布周期。这意味着每年会发布两个新的Java版本。然而,长期支持(LTS)版本——如Java 8、11、17和现在的21——每隔几年发布一次,并且支持时间更长。
深度学习工具包 DeepLearningToolbox
深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[](https://bitdeli.com/free "Bitdeli Badge")
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
【JAVA】java 学习路线
一门永不过时的编程语言——Java 编程开发。 Java编程语言占比: 据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位! Java工程师人才缺口: 根据IDC的统计数字:就2017年来说,我国Java人...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
java5、java6、java7、java8、java9新特性
1. 介绍2. JAVA5新特性2.1 泛型 Generics2.2 枚举类型2.3 自动装箱拆箱(自动类型包装和解包)autoboxing & unboxing2.4 可变参数varargs(varargs number of arguments)2.5 Annotations(重要) 它是java中的metadata(注释)2.6 新的迭代语句2.7 静态导入(import stati...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
Java笔记——Java 初识_java 版本历史
(Java Micro Edition,小型版):支持 Java 程序运行在移动终端(手机,PDA)上的平台,对 Java API 有所精简,并加入了针对移动终端的支持,此版本以前称为 J2ME。JDK 是提供给 Java 开发人员使用的,其中包含了 Java 的开发工具,也包括了 JRE,所以如果安装了 JDK,就不用再单独安装 JRE 了。因为不同的操作系统需要不同的 JVM,而 JVM 又是包含于 JDK 的,因此不同的操作系统就需要安装不同的 JDK。负责执行指令,管理数据,内存,寄存器。
Java 进化之路:从 Java 8 到 Java 21 的重要新特性
最近在 Stack Overflow 上看到个热帖:“现在学 Java 到底应该从哪个版本开始?必须从版本演进的角度理解 Java!今天咱们就掰开揉碎了聊聊 Java 8 到 Java 21 那些改变编程方式的特性(敲黑板!重点来了)最近在 GitHub 上看到一个有趣的数据:Java 21 的采用率比 Java 17 同期高出 300%!这说明开发者对新特性的接受度越来越高(时代在进步啊兄弟们)。维护老项目用 LTS 版本新项目尽量上 Java 17+个人项目勇敢尝试 Java 21。
Mac下如何降级Java、卸载Java
前言 安装一些组件或插件时,有时会提示错误: * What went wrong: Could not determine java version from '11'. 查看组件或插件对应的Java版本会发现,可能只支持 Java 8,但本地安装的Java版本不一定能对应。 查看Java版本: #查看版本 java -version #查看安装位置 /usr/libexec/java_home...
现代java,Java 8 到 Java 21特性一览
Java 是一种多功能编程语言,它经历了变革之旅。从 Java 8 开始,令人兴奋的功能改变了开发人员的编码方式。从用于更好功能的漂亮 lambda 表达式到使处理数据更容易的 Stream API,Java 8 改变了游戏规则。我们将查看 Java 21 之前的更新,其中密封类可让您更好地控制类,而记录使创建数据对象变得轻而易举。加入旅程,我将用简单的解释和实际示例分解这些现代 Java 功能。由于这将是一个漫长的旅程,而且文章会很长,我建议将其分成较小的部分以方便您阅读。
【Java基础】认识Java,Java程序的生命周期,运行Java程序
JDK 是Java开发工具包,就跟Go和Python一样有SDK这种工具包编写Java需要的软件,例如:eclipse、IDEA等;
Java历史版本官方下载地址(Java 6、Java 7、Java 8)
Java历史版本官方下载地址: 1、Java 7官方下载地址;2、Java 8官方下载地址;
java8 java11 java17对比分析和选型
Java 8、Java 11和Java 17作为Java的三个重要版本,各自在功能、性能以及支持方面有着显著的区别。下面将从多个方面对这三个版本进行对比,并给出选型建议。
2万+



被折叠的 条评论
为什么被折叠?



