ava

阅读 / 问答 / 标签

java求助:swt中如何隐藏顶部菜单

窗体顶部菜可以在实例化的时候设置,也可以单独设置:Shell s = new Shell(parent,SWT.BORDER); //建立一个有边框但没有标题栏的窗口 Shell dlgShell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); setShellStyle(这里可以任意设置样式);能够设置的样式如下:(以下属性可以多选,但是某些属性相冲突时会导致设置的其他属性失效)SWT.BORDER //建立一个有边框但没有标题栏的窗口SWT.CLOSE //建立一个只有关闭按钮的窗口SWT.MIN //建立一个不能最大化的窗口SWT.MAX, //建立一个可以最大化最小化的窗口SWT.NO_TRIM //建立一个没有任何边界和标题栏的窗口SWT.RESIZE //建立一个可以改变大小的窗口SWT.TITLE //建立一个没有标题栏图标,没有关闭按钮的窗口SWT.ON_TOP //建立一个总是在上的窗口,注意:此属性最好与CLOSE、MIN、MAX一起使用。SWT.TOOL //建立一个类似工具栏的窗口SWT.APPLICATION_MODAL //建立一个APPLICATION模态窗口SWT.MODELESS //建立一个非模态窗口SWT.PRIMARY_MODAL //建立一个PRIMARY模态窗口SWT.SYSTEM_MODAL //建立一个SYSTEM模态窗口 还有两个快捷属性来建立窗口SHELL_TRIM //建立一个标准模式的窗口,相当于属性设置为CLOSE | TITLE | MIN | MAX | RESIZEDIALOG_TRIM //建立一个对话框模式的窗口,相当于属性设置为TITLE | CLOSE | BORDER

java中,用SWT创建主窗体,我想点击关闭按钮时弹出个对话框,判断是否退出系统还是最小化到托盘...

你是不是给你窗体设了frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)?改为frame.setDefaultCloseOperation(do_nothing_on_close);

JAVA 运行 包含SWT包的程序报错了错,怎么解决啊,我在问题补充那里有说明错误哦

方法1,安装一个32位的jdk 然后window->preferences->java->installed JREs 勾选32位的jdk方法2,下载一个64位的SWT,替换即可

java swt出错,初学者求解决

额。。我想问,你这写法是什么语言转过来的,看着怪别扭的,大小写之类的全部都没区分。错误的话,应该是,text.setText(null);这个不能设置为null,改成text.setText("");就可以了。

Java 插件开发SWT中布局。用的是gridData

SWT插件用于Java 图形用户界面开发的,可以去其官网下载与Eclipse版本相关的压缩包。本人使用的是Eclipse3.4,下载的SWT包是Designer_v6.7.0_for_Eclipse3.4.zip。(注:SWT必须与Eclipse版本要一致,下载SWT是要看清楚)。将下载的SWT包解压缩,解压后有一个批处理文件和features、plugins文件夹。将这个批处理文件拷贝到eclipse目录,双击运行。然后将该批处理文件删除。将SWT解压包中features、plugins文件夹中的内容全部拷贝到eclipse的相应目录中。(注:有的资料上说:需要将eclipse目录下的configuration目录中,所有org.eclipse.*文件夹都删除。我这样试了,但是这样做Eclipse根本无法启动。所以我的这个方法中不需要这样做,不知到是否与eclipse的版本有关,还需详细考证)。然后启动eclipse,在file-new-other中如果看到designer选项,就证明SWT安装成功了。下来进行插件的注册,我选择的免费注册,不过这样需要填写一个用户的详细资料,然后就会通过email收到一个注册码。步骤:window-Preferences-Designer-Registration and Activation。在select a product to evaluate中选择SWT-Designer。点击next,然后填写你的个人信息。然后就会通过email收到一个Activation key。重新执行上述注册步骤,在Activation Key的文本框中输入通过email收到的key就完成了SWT的免费注册。

Java swt 怎样通过 按不同的按钮 在一个地方 显示 不同的table(如图,按学

jtabpanel可以实现,另个动态table model也可以实现

JAVA问题

你能不能把代码发下呢?你丢个异常给大家 大家如何分析啊

java swt 焦点事件

filterText.addFocusListener(new FocusAdapter(){ @Override public void focusGained(FocusEvent e) { filterText.selectAll(); } });

java有了Swing,为什么还要使用SWT呢?

由于在不同的操作系统下,提供的控件是不一样的,AWT采用最小公约数的办法,只提供所有操作系统都有的控件。但后来SUN改变了做法,在Swing里除了JFrame,JWinodows,JDialog(记不太清了,好像是这几个)是调用本地操作系统的控件,其它JPanel,JButton之类的都是绘出来的,所以Swing在所有平台看起来都是一样的外观。这样保持了外观一致性,但牺牲了性能。 IBM更喜欢AWT的实现机制,做出了SWT,SWT采用的是最大公倍数的做法。SWT大部分都是用的本地操作系统的控件,一些在windows里有的控件可能在linux下没有,对这种控件才采用自己绘制的方式。SWT采用类似JAVA虚拟机的方式,在不同的平台,有不同的开发包,我们写的java代码是一样的,但不同平台下看起来外观是不一样的,但性能提升很高,据说和C++做的界面速度差不多:) 也许你会问哪种更好,引一名话:this is equivalent to asking whether a harmmer is better than a screw driver,of course ,a hammer wieldded with sufficient force can probably drive a screw into a wall ,and the butt of a screw can be used in a pinch to knock in a nail. However, a good carpenter keeps both harmer and screw drivers in her tool box and will use the tool that is appropriate for the job at hand. 个人感觉以前java做界面完全没有优势,从外观到性能(我很喜欢Swing的look and feel,可以改变风格),SWT的出现改变了性能上的缺点,再加上JFace,及Eclipse的RCP,我还是倾向于用SWT。

swt是仅用于eclipse还是java的基础类库里的?

eclipse 是用Swt开发的,swt是为了开发Eclipse而设计的一个可视化组件,相当的不错,所以说在Eclipse的安装目录下肯定有Swt这个包,同事Swt也是可用用来做应用软件开发的,比起Swing,Awt有很多优势。

java中SWT是不是已经过时了,没有swing好用哦?

原来是Eclipse推出的。。 囧

Java桌面应用程序设计:SWT简介

  Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符 至今仍然很少能看到非常成功Java桌面程序 虽然有JBuilder Netbean JProbe等大型软件作为代表 但这仍不能证明Java的GUI程序是成功的 它们的外观总是和同一操作系统平台下的其它软件显得格格不入 对机器配置的需求也似乎永无止境 这使得它们只能被一些总是拥有当前最高性能PC的程序员们所容忍 或是那些不在乎金钱和时间的专业用户所接受 对绝大多数计算机使用者来说 AWT或SWING代表着怪异的界面和无法接受的速度 Standard Widget Toolkit(SWT)或许是Java这一噩梦的终结者 广大Java程序员终于可以开发出高效率的GUI程序 它们拥有标准的外观 几乎没有人能看出你的程序是用Java写出来的 更为重要的是 这些程序是跨平台的   SWT本身仅仅是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API 或许是无心插柳 或是有意为之 至今为止 SWT无论是在性能和外观上 都超越了SUN公司提供的AWT和SWING 目前Eclipse IDE已经开发到了 版本 SWT已经十分稳定 这里指的稳定应该包含两层意思   一是指性能上的稳定 其中的关键是源于SWT的设计理念 SWT最大化了操作系统的图形构件API 就是说只要操作系统提供了相应图形的构件 那么SWT只是简单应用JNI技术调用它们 只有那些操作系统中不提供的构件 SWT才自己去做一个模拟的实现 可以看出SWT的性能上的稳定大多时候取决于相应操作系统图形构件的稳定性   另一个稳定是指SWT API包中的类 方法的名称和结构已经少有改变 程序员不用担心由于Eclipse组织开发进度很快(Eclipse IDE每天都会有一个Nightly版本的发布) 而导致自己的程序代码变化过大 从一个版本的SWT更新至另一版本 通常只需要简单将SWT包换掉就可以了    第一个SWT程序   下面让我们开始一个SWT程序 (注意 以下的例子和说明主要针对Windows平台 其它的操作系统应该大同小异) 首先要在Eclipse安装文件中找到SWT包 Eclipse组织并不提供单独的SWT包下载 必须下载完整的Eclipse开发环境才能得到SWT包 SWT是作为Eclipse开发环境的一个插件形式存在 可以在${你的eclipse安装路径}plugins路径下的众多子目录下去搜索SWT JAR文件 在找到的JAR文件中包含了SWT全部的Java类文件 因为SWT应用了JNI技术 因此同时也要找到相对应的JNI本地化库文件 由于版本和操作平台的不同 本地化库文件的名称会有些差别 比如SWT WIN DLL是Window平台下Eclipse Build 的动态库 而在Unix平台相应版本的库文件的扩展名应该是 so 等等 注意的是 Eclipse是一个开放源代码的项目 因此你也可以在这些目录中找到SWT的源代码 相信这会对开发很有帮助 下面是一段打开空窗口的代码(只有main方法) import e one example;public class OpenShell{ public static void main(String [] args) {  Display display = new Display();  Shell shell = new Shell(display);  shell open();  // 开始事件处理循环 直到用户关闭窗口  while (!shell isDisposed()) {   if (!display readAndDispatch())    display sleep();  }  display dispose(); }}   确信在CLASSPATH中包括了SWT JAR文件 先用Javac编译例子程序 编译无错后可运行java Djava library path=${你的SWT本地库文件所在路径} e one example OpenShell 比如SWT WIN DLL件所在的路径是C:swtlib 运行的命令应该是java Djava library path=c:swtlib e one example OpenShell 成功运行后 系统会打开了一个空的窗口    剖析SWT API   下面再让我们进一步分析SWT API的组成 所有的SWT类都用 eclipse swt做为包的前缀 下面为了简化说明 我们用*号代表前缀 eclipse swt 比如* widgets包 代表的是 eclipse swt widgets包   我们最常用的图形构件基本都被包括在* widgets包中 比如Button Combo Text Label Sash Table等等 其中两个最重要的构件当数Shell和Composite Shell相当于应用程序的主窗口框架 上面的例子代码中就是应用Shell构件打开一个空窗口 Composite相当于SWING中的Panel对象 充当着构件容器的角色 当我们想在一个窗口中加入一些构件时 最好到使用Composite作为其它构件的容器 然后再去* layout包找出一种合适的布局方式 SWT对构件的布局也采用了SWING或AWT中Layout和Layout Data结合的方式 在* layout包中可以找到四种Layout和与它们相对应的布局结构对象(Layout Data) 在* custom包中 包含了对一些基本图形构件的扩展 比如其中的CLabel 就是对标准Label构件的扩展 上面可以同时加入文字和图片 也可以加边框 StyledText是Text构件的扩展 它提供了丰富的文本功能 比如对某段文字的背景色 前景色或字体的设置 在* custom包中也可找到一个新的StackLayout布局方式   SWT对用户操作的响应 比如鼠标或键盘事件 也是采用了AWT和SWING中的Observer模式 在* event包中可以找到事件监听的Listener接口和相应的事件对象 例如常用的鼠标事件监听接口MouseListener MouseMoveListener和MouseTrackListener 及对应的事件对象MouseEvent   * graphics包中可以找到针对图片 光标 字体或绘图的API 比如可通过Image类调用系统中不同类型的图片文件 通过GC类实现对图片 构件或显示器的绘图功能   对不同平台 Eclipse还开发了一些富有针对性的API 例如 在Windows平台 可以通过* ole win 包很容易的调用ole控件 这使Java程序内嵌IE浏览器或Word Excel等程序成为可能!    更复杂的程序   下面让我们展示一个比上面例子更加复杂一些的程序 这个程序拥有一个文本框和一个按键 当用户点击按键的时候 文本框显示一句欢迎信息   为了文本框和按键有比较合理的大小和布局 这里采用了GridLayout布局方式 这种布局是SWT中最常用也是最强大的布局方式 几乎所有的格式都可能通过GridLayout去达到 下面的程序也涉及到了如何应用系统资源(Color) 以及如何释放系统资源 private void initShell(Shell shell) { //为Shell设置布局对象 GridLayout gShellLay = new GridLayout(); shell setLayout(gShellLay); //构造一个Composite构件作为文本框和按键的容器 Composite panel = new Composite(shell SWT NONE); //为Panel指定一个布局结构对象   这里让Panel尽可能的占满Shell 也就是全部应用程序窗口的空间  GridData gPanelData = new GridData(GridData GRAB_HORIZONTAL| GridData GRAB_VERTICAL|GridData FILL_BOTH); panel setLayoutData(gPanelData); //为Panel也设置一个布局对象 文本框和按键将按这个布局对象来显示  GridLayout gPanelLay = new GridLayout(); panel setLayout(gPanelLay); //为Panel生成一个背景色 final Color bkColor = new Color(Display getCurrent() ); panel setBackground(bkColor); //生成文本框 final Text text = new Text(panel SWT MULTI|SWT WRAP); //为文本框指定一个布局结构对象   这里让文本框尽可能的占满Panel的空间  GridData gTextData = new GridData (GridData GRAB_HORIZONTAL| GridData GRAB_VERTICAL|GridData FILL_BOTH); text setLayoutData(gTextData); //生成按键 Button butt = new Button(panel SWT PUSH); butt setText( Push ); //为按键指定鼠标事件 butt addMouseListener(new MouseAdapter(){  public void mouseDown(MouseEvent e){   //当用户点击按键的时候 显示信息   text setText( Hello SWT );  } }; //当主窗口关闭时 会触发DisposeListener 这里用来释放Panel的背景色  shell addDisposeListener(new DisposeListener(){  public void widgetDisposed(DisposeEvent e) {   bkColor dispose();  } };}   把这段代码中的方法initShell()加入到第一个打开空窗口的例子中 得到的是一段能成功运行的完整GUI应用程序 运行方法可参考第一个例子    系统资源的管理   在一个图形化的操作系统中开发程序 都要调用系统中的资源 如图片 字体 颜色等 通常这些资源都是有限的 程序员务必非常小心的使用这些资源 当不再使用它们时 就请尽快释放 不然操作系统迟早会油尽灯枯 不得不重新启动 更严重的会导致系统崩溃   SWT是用Java开发的 Java语言本身的一大优势就是JVM的 垃圾回收机制 程序员通常不用理会变量的释放 内存的回收等问题 那么对SWT而言 系统资源的操作是不是也是如此?答案是一个坏消息 一个好消息   坏消息是SWT并没采用JVM的垃圾回收机制去处理操作系统的资源回收问题 一个关键的因素是因为JVM的垃圾回收机制是不可控的 也就是说程序员不能知道 也不可能做到在某一时刻让JVM回收资源!这对系统资源的处理是致命的 试想你的程序希望在一个循环语句中去查看数万张图片 常规的处理方式是每次调入一张 查看 然后就立即释放该图片资源 而后在循环调入下一张图片 这对操作系统而言 任何时刻程序占用的仅仅是一张图片的资源 但如果这个过程完全交给JVM去处理 也许会是在循环语句结束后 JVM才会去释放图片资源 其结果可能是你的程序还没有运行结束 操作系统已经宕掉   但下面的好消息也许会让这个坏消息变得无关紧要 对于SWT 只需了解两条简单的 黄金 法则就可以放心的使用系统资源!之所以称为黄金法则 一是因为少 只有两条 二是因为它们出奇的简单 第一条是 谁占用 谁释放 第二条是 父构件被销毁 子构件也同时被销毁 第一条原则是一个无任何例外的原则 只要程序调用了系统资源类的构造函数 程序就应该关心在某一时刻要释放这个系统资源 比如调用了 Font font = new Font (display Courier SWT NORMAL);   那么就应该在不在需要这个Font的时候调用 font dispose();   对于第二个原则 是指如果程序调用某一构件的dispose()方法 那么所有这个构件的子构件也会被自动调用dispose()方法而销毁 通常这里指的子构件与父构件的关系是在调用构件的构造函数时形成的 比如 Shell shell = new Shell();Composite parent = new Composite(shell SWT NULL);Composite child = new Composite(parent SWT NULL);   其中parent的父构件是shell 而shell则是程序的主窗口 所以没有相应的父构件 同时parent又包括了child子构件 如果调用shell dispose()方法 应用第二条法则 那么parent和child构件的dispose()方法也会被SWT API自动调用 它们也随之销毁    线程问题   在任何操作平台的GUI系统中 对构件或一些图形API的访问操作都要被严格同步并串行化 例如 在一个图形界面中的按键构件可被设成可用状态(enable)或禁用状态(disable) 正常的处理方式是 用户对按键状态设置操作都要被放入到GUI系统的事件处理队列中(这意味着访问操作被串行化) 然后依次处理(这意味着访问操作被同步) 想象当按键可用状态的设置函数还没有执行结束的时候 程序就希望再设置该按键为禁用状态 势必会引起冲突 实际上 这种操作在任何GUI系统都会触发异常   Java语言本身就提供了多线程机制 这种机制对GUI编程来说是不利的 它不能保证图形构件操作的同步与串行化 SWT采用了一种简单而直接的方式去适应本地GUI系统对线程的要求 在SWT中 通常存在一个被称为 用户线程 的唯一线程 只有在这个线程中才能调用对构件或某些图形API的访问操作 如果在非用户线程中程序直接调用这些访问操作 那么SWTExcepiton异常会被抛出 但是SWT也在* widget Display类中提供了两个方法可以间接的在非用户线程的进行图形构件的访问操作 这是通过syncExec(Runnable)和asyncExec(Runnable)这两个方法去实现 例如 //此时程序运行在一个非用户线程中 并且希望在构件panel上加入一个按键 Display getCurrent() asyncExec(new Runnable() { public void run() {  Button butt = new Button(panel SWT PUSH);  butt setText( Push ); }});   方法syncExec()和asyncExec()的区别在于前者要在指定的线程执行结束后才返回 而后者则无论指定的线程是否执行都会立即返回到当前线程    SWT的扩展 JFace   JFace与SWT的关系好比Microsoft的MFC与SDK的关系 JFace是基于SWT开发 其API比SWT更加易于使用 但功能却没SWT来的直接 比如下面的代码应用JFace中的MessageDialog打开一个警告对话框 MessageDialog openWarning(parent Warning Warning message );   如果只用SWT完成以上功能 语句不会少于 行!   JFace原本是为更加方便的使用SWT而编写的一组API 其主要目的是为了开发Eclipse IDE环境 而不是为了应用到其它的独立应用程序 因此在Eclipse 版本之前 很难将JFace API完整的从Eclipse的内核API中剥离出来 总是要多多少少导入一些非JFace以外的Eclipse核心代码类或接口才能得到一个没有任何编译错误的JFace开发包 但目前Eclipse组织似乎已经逐渐意识到了JFace在开发独立应用程序起到的重要作用 在开发的 版本中 JFace也开始变成了和SWT一样的完整独立的开发包 只是这个开发包还在变动中(笔者写本文时 应用的Eclipse M 版本) JFace开发包的包前缀是以 eclipse jface开头 JAR包的源代码也和SWT一样 也在${你的eclipse安装路径}plugins路径下去找   对开发人员来说 在开发一个图形构件的时候 比较好的方式是先到JFace包去找一找 看是不是有更简洁的实现方法 如果没有再用SWT包去自己实现 比如JFace为对话框提供了很好的支持 除了各种类型的对话框(比如上面用的MessageDialog 或是带有Title栏的对话框) 如要实现一个自定义的对话框也最好从JFace中的Dialog类继承 而不是从SWT中的* widget Dialog继承   应用JFace中的Preference包中的类很容易为自己的软件做出一个很专业的配置对话框 对于Tree Table等图形构件 它们在显示的同时也要和数据关联 例如Table中显示的数据 在JFace 中的View包中为此类构件提供了Model View方式的编程方法 这种方法使显示与数据分开 更加利于开发与维护 JFace中提供最多的功能就是对文本内容的处理 可以在 eclipse jface text * 包中找到数十个与文本处理相关类    与应用程序更近一步   Java程序通常是以class文件的方式发布的 运行class需要JRE或JDK的支持 这又是Java GUI程序的另一个致命的弱点 想象对一个面向广大用户的应用程序来说 无论你的程序功能有多简单 或是你的代码十分的精简 你都不得不让用户去下载一个 M的JRE 那是多么令人沮丧的一件事 而且对程序员来说 Class通常意味着源代码的暴露 反编译的工具让那些居心叵测的人轻易得到你的源代码 虽然有很多对Class的加密方法 但那总是以牺牲性能为代价的 好在我们还有其它的方式可用 把Class编译成exe文件! lishixinzhi/Article/program/Java/gj/201311/27737

JAVA里面Toolkit.getDefaultToolkit()是干什么的?

getDefaultToolkitpublic static Toolkit getDefaultToolkit()获取默认工具包。 如果有一个系统属性名为 "awt.toolkit",则将它看作 Toolkit 的子类的类名。 如果系统属性不存在,则使用的默认工具包是名为 "sun.awt.motif.MToolkit" 的类,它是 Abstract Window Toolkit 的主题实现。 还可以使用 Sun 引用实现中指定的属性 "assistive_technologies" 将其他类加载到 VM 中,该属性是在 "accessibility.properties" 文件的一个行中指定的。加载形式是 "assistive_technologies=...",其中 "..." 是以逗号分隔的、要加载的辅助技术类的列表。每个类都以给定的顺序加载,并且要使用 Class.forName(class).newInstance() 创建每个类的单独实例。此操作在创建 AWT 工具包之后进行。所有错误都通过 AWTError 异常来处理。 返回:默认工具包。 抛出: AWTError - 如果不能找到工具包,或者不能访问或实例化工具包。

Java 的Toolkit 的用法

toolkit此类是所有 Abstract Window Toolkit 实际实现的抽象超类。Toolkit 的子类被用于将各种组件绑定到特定本机工具包实现。这意味着如果设置某一组件的状态,随后立刻查询该状态,则返回的值可能并没有反映所请求的更改。这包括但不局限于以下操作: 滚动到指定位置。例如,如果原始请求没有被处理,那么调用 ScrollPane.setScrollPosition 并随后调用 getScrollPosition 可能返回一个不正确的值。 将焦点从一个组件移动到另一个组件。使顶层容器可见。对 Window、Frame 或 Dialog 调用 setVisible(true) 可能异步发生。 设置顶层容器的大小或位置。对 Window、Frame 或 Dialog 调用 setSize、setBounds 或 setLocation 将被转发到底层窗口管理系统,并可能被忽略或修改。Wall.class 加载Wall类对象,额说实话,还真没有什么好说的哦。。。数据库加载驱动的时候也是这样,当然也只是为了加载对象而已。

Java 的Toolkit 的用法

Toolkit这是一个工具抽象类,提供一些取资源的方法.比如这个getImage就是取图象资源的.Wall.class.getClassLoader().getResource("images/stone.gif")这句话的意思是把Wall类所在文件夹中的images文件夹下的stone.gif转换成JAVAURL类,这是一种相对地址的获取方式.

java.awt.Toolkit和Dimension是干啥的

包含用于创建用户界面和绘制图形图像的所有类。 getDefaultToolkitpublic static Toolkit getDefaultToolkit()获取默认工具包。 如果有一个系统属性名为 "awt.toolkit",则将它看作 Toolkit 的子类的类名。 如果系统属性不存在,则使用的默认工具包是名为 "sun.awt.motif.MToolkit" 的类,它是 Abstract Window Toolkit 的主题实现。 还可以使用 Sun 引用实现中指定的属性 "assistive_technologies" 将其他类加载到 VM 中,该属性是在 "accessibility.properties" 文件的一个行中指定的。加载形式是 "assistive_technologies=...",其中 "..." 是以逗号分隔的、要加载的辅助技术类的列表。每个类都以给定的顺序加载,并且要使用 Class.forName(class).newInstance() 创建每个类的单独实例。此操作在创建 AWT 工具包之后进行。所有错误都通过 AWTError 异常来处理。 返回:默认工具包。 抛出: AWTError - 如果不能找到工具包,或者不能访问或实例化工具包。 Dimension:对单个对象的组件的宽度、高度封装在一个类中。通常,width与height的值是正数(若为负数,则由其他对象定义的一些方法的行为是不明确的)。获取的宽度、高度都是double型的,且向上取整。 setSize(double width, double height):Note that if width or height are larger than Integer.MAX_VALUE, they will be reset to Integer.MAX_VALUE.toString()方法:输出width、height的值,用于调试用。

java音乐的存储路径下面是我们老师的一段wav播放器的代码,但是我不知道要对应的歌曲应该保存在哪边?

围观

JAVA培训内容有哪些?

JAVA零基础,JavaSE,数据库,WEB前端技术,JavaWEB基础 ,电商竞拍平台,

java学习路线

java学习的学习内容

java学习的学习内容涵盖较多方面,大致可以分为以下几个阶段,从基础的语法,到高阶的框架,必须按部就班,才能够走得更远,提升的空间才会更大。一、预科学习:HTML5:HTML5标签入门、HTML5表格、表单CSS3:CSS3选择器和简单属性、CSS3定位和布局、CSS3复杂选择器和高级属性数据库:mysql数据库安装和数据操作、约束和简单查询、复杂查询、数据库设计、oracle的安装与数据操作、oracle与mysql的对比学习二、JavaSEJava语言基础、程序逻辑:环境配置和第一个语言程序-HelloWorld变量运算符条件和循环方法和数组Java面向对象:面向对象入门面向对象应用_管理系统类Java常用类、String相关、算法相关面向对象深入(重载、this、static)继承(重写、super、初始化顺序)多态(抽象类和接口、final、克隆和比较接口设计模式、对象和类的生命周期)API:异常、日志集合集合工具类和泛型IOJDBC基础线程网络编程反射NIOJunitJava面向对象思想:设计模式面向对象原则Java底层理论:集合底层性能监控工具反编JUC三、Javawebweb基础:TOMCAT/WEB程序结构/HTTP协议Servlet基础入门、servlet作用域(cookie、session、)、Cookie和Session、Servlet的交互/JSP原理及运用、JavaBean/EL/JSTL/MVC思想、JSPServletJDBC综合练习、Session购物车案例/验证码/防止表单重复提交、监听器过滤器第三方工具包:连接池、事务、分页、文件上传下载、Dom4j/Log4j/LogbackJavaScript和jQuery框架技术:JS入门和DOM基础、DOM模型深入、jQ基础、jQ操作DOMMVC动态Web开发技术:自定义MVC框架、DAO框架、前端框架(layUI)Web开发高级运用:tomcatserver服务器配置、nginx使用、jetty配置网络编程:网络原理、HTTP协议基础、Linux操作系统、云服务搭建四、SSM框架Spring框架、SpringMVC框架、MyBatis框架:mybatis入门、配置文件详解和动态sql的使用、mybatis管理关系映射和延迟加载、查询缓存和逆向工程、Spring入门和集成、myBatisSpringMVC入门、SSM集成、Spring配置详解、SpringAOP、Spring事务配置、SpringMVC高级功能、SpringMVC原理五、前沿技术高可用、高并发、高扩展:SpringBoot、缓存、分布式、全文索引、服务中间件、myCat、云服务、人脸识别、语言识别、JVM底层优化希望能够帮到你!

Java跟c#哪个更难

我可以很负责的跟你说,C# 难度大些的确,c#上手很容易,但 由于开源了很少很少的源码,很多技术是如何实现还是个迷,不像JAVA ,完全开源,搞java的应该有种体会,配置好XML文件(一些插件的配置),开发会变得简单多。

Java软件工程师主要学习哪些课程?

Java工程师要学习得课程很多,主要包括Java基础语法• 面向对象基础• 常用API• 集合框架• 线程(池)• 代理反射• 网络编程、html•Css•javaScript•Jquery• JavaWeb• session(cookie)• filter• 上传和下载组件• JSP• Tomcat服务器• Druid连接池、Spring SpringMVC SpringBoot MyBatis(MyBatis-plus) Maven管理 GitTomcat集成数据库分库分表、Dubbo分布式框架• SpringCloud微服务• RocketMQ消息中间件• Redis缓存中间件• ES查询中间件• Vue前端框架•OSS对象存储中间件、mysql数据库->javase->javaweb->企业级框架->微服务框架等

自学Java如何入门?

其实花钱去线上并不一定质量好,现在B站上等很多第三方网站上有免费的,其实质量很不错的我把我自己整理的一些比较好的书列出来,当然好书可能不止这些,我只是举个例子第一阶段:初学java核心技术java语言程序设计第二阶段:熟悉java编程思想effective java中文版深入理解java 7:核心技术与最佳实践java网络编程(以及java web方面的书)第三阶段:加强或精通java并发编程实战java虚拟机规范(java se 7版)深入理解java虚拟机:jvm高级特性与最佳实践设计模式之禅(java版)算法导论 或者 算法(第四版)深入剖析tomcat深入理解计算机系统代码大全编程珠玑学习路线可以参考这个问题

java编程培训学什么?

首先,java基础要扎实,只有这样,书写代码时才能代码规范,逻辑清晰.java基础需要学习一下几方面;第一,掌握静态方法和属性.java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。第二:重视接口.在框架使用上,很多需要用到动态代理,那么就需要注意接口的使用.第三:学好集合框架.Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器方、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。第四:异常处理.程序异常有运行时异常,和非运行时异常,那么我们需要处理好运行异常,代码才能健壮.第五:理解多线程.程序员应该了解的是多线程原理和多线程安全,这对于今后准确地把握程序是至关重要的。例如JSP中编写到不同的位置对于多个用户环境的安全影响完全不同,又如着名的SuperServlet是每一个访问作为一个进程,但是每一个页面是一个线程,和Servlet正好相反,对程序的性能和安全的影响有天壤之别。其次:主流框架知识要掌握.那么就需要熟练掌握Mybatis,Spring,SpringMVC等常用框架.这是作为程序员要掌握的基础框架.当然,如果想找到高薪工作,我们还需要掌握先进的框架,例如SpringBoot,SpringCloud,dubbo,redis,solr,activeMQ,FastDfs等等......受互联网+概念的催化,当今中国在线教育市场,互联网,电商等行业的发展可谓是百花齐放、如火如荼。想进入这类高薪企业需要掌握微服务架构。掌握微服务就应该知道微服务中常遇到问题,例如微服务的雪崩效应。表现在服务与服务之间调用,当其中一个服务无法提供服务可能导致其它服务也死掉,比如:单点登录服务调用用户信息服务查询用户信息,由于用户信息服务无法提供服务导致单点登录服务一直等待,从而导致用户登录、用户退出功能无法使用,像这样由一个服务所引起的一连串的多个服务无法提供服务即是微服务的雪崩效应。

有什么推荐的Java学习路线呢?

java学习的学习内容涵盖较多方面,大致可以分为以下几个阶段,从基础的语法,到高阶的框架,必须按部就班,才能够走得更远,提升的空间才会更大。一、预科学习:HTML5:HTML5标签入门、HTML5表格、表单CSS3:CSS3选择器和简单属性、CSS3定位和布局、CSS3复杂选择器和高级属性数据库:mysql数据库安装和数据操作、约束和简单查询、复杂查询、数据库设计、oracle的安装与数据操作、oracle与mysql的对比学习二、JavaSEJava语言基础、程序逻辑:环境配置和第一个语言程序-HelloWorld 变量运算符 条件和循环 方法和数组Java面向对象:面向对象入门 面向对象应用_管理系统类 Java常用类、String相关、算法相关 面向对象深入(重载、this、static )继承(重写、super、初始化顺序) 多态(抽象类和接口、final、克隆和比较接口 设计模式、对象和类的生命周期)API:异常、日志 集合 集合工具类和泛型 IO JDBC基础线程 网络编程 反射 NIO JunitJava面向对象思想:设计模式 面向对象原则Java底层理论:集合底层 性能监控工具 反编 JUC三、Java webweb基础:TOMCAT/WEB程序结构/HTTP协议 Servlet基础入门、servlet作用域(cookie、session、ServletContext)、 Cookie和Session 、Servlet的交互/JSP原理及运用、 JavaBean/EL/JSTL/MVC思想 、JSP+Servlet+JDBC综合练习、Session购物车案例/验证码/防止表单重复提交、监听器过滤器第三方工具包:连接池、事务、分页、文件上传下载、Dom4j/Log4j/Log backJavaScript和jQuery框架技术:JS入门和DOM基础 、DOM模型深入 、jQ基础、 jQ操作DOMMVC动态Web开发技术:自定义MVC框架、DAO框架、前端框架(layUI)Web开发高级运用:tomcat server服务器配置 、nginx使用、 jetty配置网络编程:网络原理、HTTP协议基础、Linux操作系统、云服务搭建四、SSM框架Spring框架、SpringMVC框架、MyBatis框架:mybatis入门、 配置文件详解和动态sql的使用、 mybatis管理关系映射和延迟加载、 查询缓存和逆向工程 、Spring入门和集成、myBatis SpringMVC入门 、SSM集成、 Spring配置详解 、Spring AOP、 Spring事务配置 、SpringMVC高级功能 、SpringMVC原理五、前沿技术高可用、高并发、高扩展:Spring Boot 、缓存 、分布式 、全文索引、 服务中间件、 myCat、 云服务 、人脸识别 、语言识别 、JVM底层+优化希望能够帮到你!!!

有一点java基础,如何成为一名java架构师?

在Java程序员行业中,有不少Java开发人员的理想是成为一名优秀的Java架构师,Java架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个Java架构师工作的好坏决定了整个软件开发项目的成败。那么Java架构师需要掌握哪些知识点呢?1、框架源码分析设计模式:Singleton单例模式,Factory工厂模式,Proxy代理模式,Template模板模式,Prototype原型模式等Spring5:Spring提醒结构,IOC注入原理,AOP设计原理,Spring事务处理机制,SpringMVC,Spring源码分析。Mybatis:Mybatis体系结构,Mybatis核心应用与配置,Mybatis关联查询,与Spring集成,Mybatis源码分析。2、性能优化JVM性能优化:剖析JVM整体结构,详解垃圾回收机制GC,JVM性能调优与工具排查Nginx调优:Nginx项目架构,Nginx核心配置,Nginx负载算法配置Tomcat调优:Tomcat运行机制及框架,Tomcat线程模型,Tomcat性能调优MySQL性能优化:SQL执行计划,AQL优化,索引优化。3、掌握池技术对象池,连接池,线程池,Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案Java字节码技术。4、掌握nio,值得注意的是“直接内存”的特点,使用场景。5、掌握Java多线程同步异步。6、掌握Java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题。7、熟练使用各种数据结构和算法,数组、哈希、链表、排序树就是一句话要么是时间换空间要么是空间换时间。8、熟悉tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解的话,无法对高并发网络应用做优化。9、熟悉http协议,尤其是http头,我发现好多工作五年以上的都弄不清session和cookie的生命周期以及它们之间的关联。10、熟悉系统集群、负载均衡、反向代理、动静分离,网站静态化。11、掌握分布式。Java并发编程和网络编程:Java线程状态,线程池,线程通信,线程安全,Netty高性能原理分布式开发框架:分布式系统口调用技术:RPC,Apache分布式系统Zookeeper原理与应用,阿里Dubbo设计思想与应用分布式中间件:分布式服务器治理,分布式消息通信,分布式数据缓存,MongoDB企业集群解决方案12、掌握数据库的设计能力,对它基本的参数优化,慢查询日志分析,主从复制的配置,至少要成为半个mysqldba。

零基础学java应该从哪里开始?

如果你不知道的话,可以看下这个:特别适合初学者,希望能帮助到你

JAVA培训课程有什么内容?具体有哪些模块框架

智游大数据的课程大纲如下:第一阶段:Java基础l Java基础介绍及常用开发术语操作,Java跨平台原理,JDK的安装与卸载l Java开发基本语法和编程规范,Eclipse的安装与使用l Java面向对象、封装、继承、抽象类l String、StringBuffer、StringBuilder等开发文档的使用,l NIO的设计思想和常用组件使用方法l IP/端口/URL等网络基础l 多线程的创建与启动l 完成聊天工具(线程+IO+网络编程)l 反射的意义和概念,通过内省机制处理JavaBeanl XML格式与XML解析第二阶段:Java Webl MySQL基本概念及使用l 使用JDBC完成CRUD操作,JDBC重构/封装/解耦合代码思想,JDBC多条件过滤和分页的代码封装l HTML5网页技术,HTML常用标签使用,JavaWeb发展历程和规范,Tomcat安装、配置、插件使用、部署l Servlet基础知识,Cookie和Session原理和技术l JSP原理、JSP九大内置对和四大作用于,EL和JSTL原理和重用操作l Struts2和Spring MVC,过滤器、监听器、国际化,文件上传和文件下载l Hibernate的基础知识及使用,Hibernate查询的方式和结果集的包装,Hibernate的HQL常用语法,Hibernate的事务管理及缓存机制和性能优化l JPA2.0规范和常见JPA标签的使用l Spring原理,Spring IoC容器,bean生命周期、bean作用域,Spring测试l Spring针对不同持久化方式的操作模板以及DAO支持l Spring集成JDBC、Hibernate、MyBatis操作l spring struts hibernate 大型企业级项目实践开发 第三阶段 大数据基础:Hadoopl Linux系统概述及系统安装相关配置l Linux的常用命令,Linux系统进程管理基本原理及相关管理工具l Linux启动流程,用户和组账户管理,磁盘管理,系统文件权限管理,RPM软件包管理l Linux网络基础,Shell编程,yum命令,yum源搭建l Linux上常见软件的安装:安装JDK、安装Tomcat、安装mysql,web项目部署l Hadoop生态环境概览、功能和作用、Hadoop 核心组成介绍及hdfs、mapreduce 体系结构、hadoop集群搭建l Hdfs shell编写、Hdfs java api操作、Hadoop基本命令操作,Hadoop优化l 日志及常见故障处理,名称节点管理l Mapreduce数据去重,数据类型,数据排序,倒排索引,输入输出格式,MR串联,MR模型核心解析l Lucene入门实例及概述,Lucene 中文分词器,Lucene 复杂检索,Lucene 和hadoop的整合l Yarn基础及Yarn框架核心原理解析l Hive入门及集群安装,Hive CRUD操作,hive UDF第四阶段 大数据进阶l Zookeeper概论及集群安装,Zookeeperjava 操作l Hbase总体概述及基本原理及架构,Hbase 分布式安装操作,Hbase java操作l Hbase的复杂操作、二级索引、协处理器、分页实例、存储及检索原理、行键设计原则、预分区及优化l Phoenix的安装及常用操作,Phoenixjava操作,Phoenix spring整合l Flume概述及核心讲解,Flume-ng的安装及测试、核心流程讲解、串联、多路、插件开发、正则表达式l Kafka概述及集群安装,kafka sink,Flume-ng自定义 interceptorl 大型日志分析和用户行为分析项目第五阶段:Spark内存数据处理l Scala的语言开发环境、基本语法、集合之数组、集合之List、集合之MAP、集合之元组、集合操作l Scala的伴生对象及apply、模式匹配、并发编程、并发编程actor、并发编程akka,Scala IO编程l Scala 与java互操作,Spark概论及与其他几个平台的对比,Spark搭建过程l spark yarn模式部署,spark 实例开发,spark的核心进程及资源调度,spark API,spark MapReduce,spark java应用实例l spark SQL实例语法,Sparkstream入门l Spark stream整合kafka,Spark stream整合spark SQL,Spark stream整合flume-ngl spark MLLib算法,Spark MLlib之协同过滤,Spark MLlib之K-Means聚类算法,Spark实现贝叶斯算法l spark大型机房主机实时监控系统项目

腾讯社招java需要准备什么

1、技术够硬,2、小公司镀金,3、建立名气。进腾讯公司程序员的要求有1、计算机相关专业本科及以上学历,6年以上JAVA开发经验,有三年以上大型公司(或系统)开发经验。2、精通Spring、MyBatis、SpringMVC、SpringBoot等应用框架并熟悉实现原理。3、熟悉分布式缓存、消息中间件、RPC框架、负载均衡、安全防御等技术,掌握各类中间件使用,包括zookeeper、redis、nginx、tomcat等。4、精通SQL,熟练主流数据库Oracle/Mysql,具备优秀的数据建模能力和数据库分库分表设计能力。5、有大型分布式、微服务系统架构经验,对服务治理有深入理解,使用过dubbo或springcloud且有实际项目经验。

Java开发的学习内容都有哪些?

第一阶段:HTML5+CSS3开发01、网站页面设计 02、HTML5 03、CSS3第二阶段:Javascript开发与实战01、Javascript开发 02、Jquery实战第三阶段:Java开发基础01、开发工具介绍与环境搭建 02、基本语法 03、基础数据结构 04、逻辑结构体 05、函数与方法 06、数组 07、基础类与对象第四阶段:Java面向对象01、面向对象编程 02、抽象类和接口 03、反射机制 04、集合类和IO类 05、多线程 06、异常处理 07、算法和数据结构第五阶段:数据库01、关系数据库 02、数据库事务与存储过程 03、NOSQL0 4、JDBC连接池 05、XML与JSON第六阶段:Java网络编程基础01、TCP/IP原理与socket编程 02、Http协议 03、Servlet工作原理 04、Apache Tomcat服务器第七阶段:Java框架01、Java经典设计模式 02、Struts2框架 03、Spring4框架 04、SpringMVC 05、Hibernate5 06、MyBatis 07、WebService(wsdl,RestFul) 08、Apache、Nginx服务器 09、Maven项目构建工具 10、log4j日志管理 11、Junit单元测试 12、Jmeter压力测试第八阶段:项目实战

做JAVA开发需要学什么课程.(java软件开发需要学什么)

第一阶段:Java语言基础Java语言基础1、面向对象思维JAVASE2、(类加载机制与反射,annotation,泛型,网络编程,多线程,IO,异常处理,常用API,面向对象,JAVA编程基础)3、Java8新特性第二阶段:数据库JAVA战狼班数据库1、Oracle(SQL语句、SQL语句原理、SQL语句优化、表、视图2、序列、索引、Oracle数据字典、Oracle数据库PL/SQL开发3、数据库设计原则、MySQL、JDBC兄弟连JAVA战狼班第三阶段:Web基础Web基础1、HTML5(H5)基本文档结构、链接、列表、表格、表单;2、CSS基础语法、盒子模型、浮动布局、定位;3、JavaScript语言基础、DOM编程、事件模型等),JQuery,AJAX框架,XML,BootStrap组件第四阶段:JavaWeb技术和主流框架JavaWeb技术和主流框架1、JSP&Servlet、struts2,hibernate4,spring4,JPA,maven2、SpringData,SpringMVC,MyBatis,,shiro,Nginx第五阶段:LinuxLinux1、Linux安装、熟悉Linux的基础命令、vi编辑器的使用、awk和sed命令使用、用户和组2、文件及目录权限管理、使用ACL进行高级访问控制、网络配置和软件包安装、启动流程和服务管理3、系统监控和日志管理、进程管理和计划任务、ssh远程登录、shell基础和shell脚本。第六阶段:大数据技术(Hadoop和Spark)大数据技术(Hadoop和Spark)1、Hadoop(Hadoop基础和环境搭建,HDFS体系结构,MapRece;Hadoop的集群模式、HDFS联盟,利用ZooKeeper来实现Hadoop集群的HA(高可用性)功能2、Yarn的任务调度机制,ApacheHive,Pig数据处理,集成Hadoop和Sqoop3、Flume以及ApacheKafka来实现数据的交换,安装部署HBase,Storm)4、Scala语言(Scala环境搭建、Scala基础语法、模式匹配、重载与构造器、Map与rece、元组、继承、,OptionSomeNone,Tuple;集合方法和运算,future对象同步处理和异步处理返回结果)5、Spark(Spark搭建,Spark-shell的使用,Spark-submit提交应用,Spark的内核设计和实现,并对内核中的实现架构、运行原理进行详细的讲解;Spark生态体系中的各个组件,包括:SparkCore,Shark,SparkSQL和SparkStreaming等等)第七阶段:项目项目1、China-UCSP项目SSM(SpringSpringMVCMyBatis)2、用户关系管理系统S2SHMavenNodejsMySQL技术实战开发3、电子商务交易平台S2SHMavenShiroOracle

求一份java自学学习线路图?

学习内容繁多,涵盖较多方面,大致可以分为以下几个阶段。一、预科学习:HTML5:HTML5标签入门、HTML5表格、表单CSS3:CSS3选择器和简单属性、CSS3定位和布局、CSS3复杂选择器和高级属性数据库:mysql数据库安装和数据操作、约束和简单查询、复杂查询、数据库设计、oracle的安装与数据操作、oracle与mysql的对比学习二、JavaSEJava语言基础、程序逻辑:环境配置和第一个语言程序-HelloWorld 变量运算符 条件和循环 方法和数组Java面向对象:面向对象入门 面向对象应用_管理系统类 Java常用类、String相关、算法相关 面向对象深入(重载、this、static )继承(重写、super、初始化顺序) 多态(抽象类和接口、final、克隆和比较接口 设计模式、对象和类的生命周期)API:异常、日志 集合 集合工具类和泛型 IO JDBC基础线程 网络编程 反射 NIO JunitJava面向对象思想:设计模式 面向对象原则Java底层理论:集合底层 性能监控工具 反编 JUC三、Java webweb基础:TOMCAT/WEB程序结构/HTTP协议 Servlet基础入门、servlet作用域(cookie、session、ServletContext)、 Cookie和Session 、Servlet的交互/JSP原理及运用、 JavaBean/EL/JSTL/MVC思想 、JSP+Servlet+JDBC综合练习、Session购物车案例/验证码/防止表单重复提交、监听器过滤器第三方工具包:连接池、事务、分页、文件上传下载、Dom4j/Log4j/Log backJavaScript和jQuery框架技术:JS入门和DOM基础 、DOM模型深入 、jQ基础、 jQ操作DOMMVC动态Web开发技术:自定义MVC框架、DAO框架、前端框架(layUI)Web开发高级运用:tomcat server服务器配置 、nginx使用、 jetty配置网络编程:网络原理、HTTP协议基础、Linux操作系统、云服务搭建四、SSM框架Spring框架、SpringMVC框架、MyBatis框架:mybatis入门、 配置文件详解和动态sql的使用、 mybatis管理关系映射和延迟加载、 查询缓存和逆向工程 、Spring入门和集成、myBatis SpringMVC入门 、SSM集成、 Spring配置详解 、Spring AOP、 Spring事务配置 、SpringMVC高级功能 、SpringMVC原理五、前沿技术高可用、高并发、高扩展:Spring Boot 、缓存 、分布式 、全文索引、 服务中间件、 myCat、 云服务 、人脸识别 、语言识别 、JVM底层+优化

Java软件工程师主要学习哪些课程?

Java前景是很不错的,像Java这样的专业还是一线城市比较好,师资力量跟得上、就业的薪资也是可观的,Java软件工程师主要学习的内容有8个阶段,0基础学习Java是没有问题的,关键是找到靠谱的Java培训机构,你可以深度了解机构的口碑情况,问问周围知道这家机构的人,除了口碑再了解机构的以下几方面:1. 师资力量雄厚要想有1+1>2的实际效果,很关键的一点是师资队伍,你接下来无论是找个工作还是工作中出任哪些的人物角色,都越来越爱你本身的技术专业java技术性,也许的技术专业java技术性则绝大多数来自你的技术专业java教师,一个好的java培训机构必须具备雄厚的师资力量。2. 就业保障完善实现1+1>2效果的关键在于能够为你提供良好的发展平台,即能够为你提供良好的就业保障,让学员能够学到实在实在的知识,并向java学员提供一对一的就业指导,确保学员找到自己的心理工作。3. 学费性价比高一个好的Java培训机构肯定能给你带来1+1>2的效果,如果你在一个由专业的Java教师领导并由Java培训机构自己提供的平台上工作,你将获得比以往更多的投资。希望你早日学有所成。

java专业要学些什么内容?

强力推荐疯狂java 提高自己java水平

java 版quartz 可以和mybatis一起用吗

1、用script标签包围,然后像xml语法一样书写@Select({"<script>", "SELECT * FROM tbl_order", "WHERE 1=1", "<when test="title!=null">", "AND mydate = #{mydate}", "</when>", "</script>"})2、用Provider去实现SQL拼接,例如:public class OrderProvider { private final String TBL_ORDER = "tbl_order"; public String queryOrderByParam(OrderPara param) { SQL sql = new SQL().SELECT("*").FROM(TBL_ORDER); String room = param.getRoom(); if (StringUtils.hasText(room)) { sql.WHERE("room LIKE #{room}"); } Date myDate = param.getMyDate(); if (myDate != null) { sql.WHERE("mydate LIKE #{mydate}"); } return sql.toString(); }}public interface OrderDAO { @SelectProvider(type = OrderProvider.class, method = "queryOrderByParam") List<Order> queryOrderByParam(OrderParam param);}注意:方式1有个隐患就是当传入参数为空的时候,可能会造成全表查询。复杂SQL用方式2会比较灵活(当然,并不建议写复杂SQL),而且可以抽象成通用的基类,使每个DAO都可以通过这个基类实现基本的通用查询,原理类似Spring JDBC Template。

java语言是从什么语言改进的

Java由C/C++演化而来,汲取了C++的诸多优点,,同时还增加了许多新特性

mybatis java注解怎么加判断

把“,”改成“+”才可以用。

软件工程学 如何安排java学习路线?

java学习内容很多,这个直接给你java开发需要学习的全部内容,你可以参考进行学习。一、预科学习:HTML5:HTML5标签入门、HTML5表格、表单CSS3:CSS3选择器和简单属性、CSS3定位和布局、CSS3复杂选择器和高级属性数据库:mysql数据库安装和数据操作、约束和简单查询、复杂查询、数据库设计、oracle的安装与数据操作、oracle与mysql的对比学习二、JavaSEJava语言基础、程序逻辑:环境配置和第一个语言程序-HelloWorld 变量运算符 条件和循环 方法和数组Java面向对象:面向对象入门 面向对象应用_管理系统类 Java常用类、String相关、算法相关 面向对象深入(重载、this、static )继承(重写、super、初始化顺序) 多态(抽象类和接口、final、克隆和比较接口 设计模式、对象和类的生命周期)API:异常、日志 集合 集合工具类和泛型 IO JDBC基础线程 网络编程 反射 NIO JunitJava面向对象思想:设计模式 面向对象原则Java底层理论:集合底层 性能监控工具 反编 JUC三、Java webweb基础:TOMCAT/WEB程序结构/HTTP协议 Servlet基础入门、servlet作用域(cookie、session、ServletContext)、 Cookie和Session 、Servlet的交互/JSP原理及运用、 JavaBean/EL/JSTL/MVC思想 、JSP+Servlet+JDBC综合练习、Session购物车案例/验证码/防止表单重复提交、监听器过滤器第三方工具包:连接池、事务、分页、文件上传下载、Dom4j/Log4j/Log backJavaScript和jQuery框架技术:JS入门和DOM基础 、DOM模型深入 、jQ基础、 jQ操作DOMMVC动态Web开发技术:自定义MVC框架、DAO框架、前端框架(layUI)Web开发高级运用:tomcat server服务器配置 、nginx使用、 jetty配置网络编程:网络原理、HTTP协议基础、Linux操作系统、云服务搭建四、SSM框架Spring框架、SpringMVC框架、MyBatis框架:mybatis入门、 配置文件详解和动态sql的使用、 mybatis管理关系映射和延迟加载、 查询缓存和逆向工程 、Spring入门和集成、myBatis SpringMVC入门 、SSM集成、 Spring配置详解 、Spring AOP、 Spring事务配置 、SpringMVC高级功能 、SpringMVC原理五、前沿技术高可用、高并发、高扩展:Spring Boot 、缓存 、分布式 、全文索引、 服务中间件、 myCat、 云服务 、人脸识别 、语言识别 、JVM底层+优化

Java在近几年是否是流行语言?

你放心吧!java做后端开发很强的,你学精通一门语言,其他语言也都顺手拈来

我刚学完java能不能不学web直接学android

可以 android和web联系不大 和swing很像

java 怎么使用注解操作mybatis

1、用script标签包围,然后像xml语法一样书写@Select({"<script>", "SELECT * FROM tbl_order", "WHERE 1=1", "<when test="title!=null">", "AND mydate = #{mydate}", "</when>", "</script>"})2、用Provider去实现SQL拼接,例如:public class OrderProvider { private final String TBL_ORDER = "tbl_order"; public String queryOrderByParam(OrderPara param) { SQL sql = new SQL().SELECT("*").FROM(TBL_ORDER); String room = param.getRoom(); if (StringUtils.hasText(room)) { sql.WHERE("room LIKE #{room}"); } Date myDate = param.getMyDate(); if (myDate != null) { sql.WHERE("mydate LIKE #{mydate}"); } return sql.toString(); }}public interface OrderDAO { @SelectProvider(type = OrderProvider.class, method = "queryOrderByParam") List<Order> queryOrderByParam(OrderParam param);}注意:方式1有个隐患就是当传入参数为空的时候,可能会造成全表查询。复杂SQL用方式2会比较灵活(当然,并不建议写复杂SQL),而且可以抽象成通用的基类,使每个DAO都可以通过这个基类实现基本的通用查询,原理类似Spring JDBC Template。

java系统架构师培训有吗?课程是什么?

有,目前java培训班很多,可以根据需求去选择。比如动<力><节>点java系统架构师培训课程内容:1、以T-ELTE-Learning评测系统为驱动(1)Unix开发环境(2)java语言基础(3)java面向对象(4)JDK核心API2、以电信T-DMS数据采集系统驱动(1)SQL语言(2)Oracle数据库开发(3)javaSE核心(4)XML(5)JDBC(6)软件工程基础(7)OOAD及设计模式3、以T-GWAP通用电子商务平台为驱动(1)HTML/CSS(2)javaScript核心(3)Servlet/JSP(4)Ajax(5)javaScript框架高级课程课程比较多,需要好好了解一下。

java培训都讲什么东西?

其实每个培训机构讲的东西都差不多,主要还是看后面实践课程,还有老师风格适合你不。1、刚接触编程语言,不知道该从哪里学起,也不知道该学点啥;2、书本太枯燥,厚厚一本看着都头疼;课上也没法录像,听了一遍没听懂;3、去网上找点教学视频吧,却发现教学视频那么多,不知道该学哪个。万一遇到冒牌讲师,讲成一坨翔了,纯属浪费生命;4、诶,好不容易找到一个靠谱的好视频,却没有配套资料(源码、讲义、笔记什么的);5、好吧,千辛万苦终于入门了。遇到一个bug改到昏天黑地,自己跟它死磕,不知道该问谁…作为一个过来人,我走了许多弯路才步入正轨。有了我这个前车之鉴,我不希望你们也像我一样,刚从一个坑爬出来,然后马上掉进另一个坑。如果你真的想学习的话,建议参加培训。多看看几个机构。兄弟连合肥分校有试听课程,在深港城,你可以去听听的

大学生想转行学java,该去java培训班还是自学试试看?

自制力不好的话自学Java的话还是又一定难度的,推荐兄弟连Java课程可以参考一下

java培养训练主要培养训练啥?

  主要培养训练什么?你是不是想问,java培养训练都是要学哪些知识点?  下面就来看一下动力节点所需要学习哪些知识点:  第一阶段:JavaSE基础,一定要把基础打好了,当前的知乎才干学的更彻底。JavaSE基础包括:Java开发环境搭建、Java基础语法、Java面向对象。1、Java开发环境搭建:Java顺序的加载与执行;类加载器机制;Java8的下载与装置;path和classpath环境变量;第一个Java顺序的编写;Java中的注释;public class和class的区别;2、Java基础语法:标识符;关键字;字面量;数据类型;字符编码;进制换算;变量;运算符;控制语句 ;办法;办法重载;办法执行的内存剖析;递归算法;3、Java面向对象:面向进程和面向对象的区别、类和对象、this、super、JVM运转内存分析、成员变量 和部分变量、隐藏和封装、深化结构器、类的承继、办法重写、多态、承继与组合、初 始化块、处置对象、类成员、final 修饰符、笼统类、接口及作用、外部类、枚举类、 对象与渣滓回收、修饰符的适用范围、运用Jar文件、外部类    第二阶段:环境搭建、基础语法、面向对象中心、异常、数组、常用类、集合、线程、IO流、反射机制、网络编程。1、异常:异常承继构造图、捕获异常、声明异常、异常与办法重写、自定义异常、手动抛出异常 、Java7多异常捕捉、 拜访异常信息、 运用finally回收资源、 异常处置的嵌套、Java 7自动封闭资源、catch 和 throw 同时运用、Java7加强的throw 语句、异常链追踪 信息。2、数组/算法:数组存储构造、数组优缺陷、一维数组、二维数组、多维数组、冒泡排序、选择排序、 二分法查找、工具类Arrays、二维数组完成酒店管理系统、数组拷贝、main办法的 args参数解析、数组扩容。3、常用类:字符串相关String、StringBuffer、StringBuilder;八种根本数据类型对应的包装类 ;日期处置相关;数字处置相关;枚举类型;4、集合/数据构造:Collection和Map集合承继构造图;Collections工具类;Iterator迭代集合;Array List、LinkedList、Vector集适宜用场景剖析以及Vector运用较少的缘由;数组、单 向链表、双向链表数据构造;各种集合源码级剖析;哈希表散列表数据构造;Hashtab le以及Properties属性类详解;SorteMap、TreeSet、TreeMap集合排序机制;红 黑树;5、IO流:迅雷下载演示流的原理;流的分类;装饰器设计形式;IO流体系承继构造;文件字节/字 符输出输入流;带有缓冲区的字节/字符输出输入流;对象流、序列化和反序列化;规范 输入流、改动规范输入流的输入方向;数据流;文件File类以及递归算法复制目录;zip 紧缩技术;6、线程线程和进程;线程生命周期;线程调度;线程同步7、反射机制获取Class的方式;读取配置文件中的类名来实例化对象;经过反射操作Field、Metho d、Constructor;经过反射机制调用Method;经过反射获取父类型;8、网络编程IP地址以及端口号的作用;TCP/IP协议;UrlDecoder和UrlEncoder;Socket编程基 础;UDP协议以及多点播送;9、注解Annotation注解和配置文件的区别;Java自带注解;自定义注解;经过反射机制读取注解;10、MySQL初级MySQL的装置与配置;常用命令;复杂查询;要求查询;排序;数据处置函数;分组函 数;分组查询;衔接查询;子查询;union;limit;表的创立;增删改表构造;约束; 存储引擎;事务;索引;视图;DBA命令;数据库设计三范式;MySQL存储进程;11、JDBCJDBC实质;JDBC开发前预备职业;编程六步;采用Class.forName方式注册驱动以 及注册原理;SQL注入;避免SQL注入;Statement和PreparedStatment比对; JDBC事务;JDBC行级锁;JDBC完成银行账户转账。    第三阶段:1、HTML/HTML5HTML根本构造、HTML表格、HTML超链接、HTML图片、HTML背景图片和背风光、 HTML字体、HTML列表、HTML根本标签、HTML格式标签、HTML实体符号、HTML 表单、HTML向服务器发送恳求的多种方式、HTML DOM、HTML节点id属性、div和 span规划、HTML框架。2、CSS/CSS3标签选择器、ID选择器、类选择器、CSS高级语法、派生选择器、属性选择器、CSS常 用款式、CSS框模型、CSS定位3、JavaScriptJavaScript中心语法;JavaScript DOM编程;JavaScript BOM编程;JavaScript 承继;JavaScript闭包;手动开发jQuery框架;4、jQueryjQuery九大选择器;增删改节点;款式操作;属性操作;事情操作;5、Bootstrap下拉菜单、按钮组、按钮式下拉菜单,输出框组、面板和Well、正告框、进度条和列表 组件、导航和导航条Bootstrap媒体对象、栅格系统6、XML+XPathXML是什么;开发中主要用XML干什么;XML和HTML的区别与联络;XML/DTD/XS D/XSL关系;XML的SAX解析和DOM解析;Java解析XML;dom4j解析XML;XML +XPath解析XML文件;7、ServletServlet/GenericServlet/HttpServlet;Servlet生命周期;Http协议分析;GET和 POST区别;转发和重定向;Cookie;Session;Servlet标准中常用接口的解说;8、JspJsp实质;Jsp和Servlet区别以及职责;小脚本;声明;表达式;举措;九大内置对象9、EL经过EL表达式从作用域中取数据;EL的隐含对象;从数组、List、Map中取数据;EL常 用运算符;10、JSTL中心标签core的运用;JSTL的完成原理;自定义标签;    第四阶段:1、Filter完成Filter过滤器、Filter中办法分析、Gof设计形式之责任链设计形式、分析Tomcat 服务器源码检查Filter调用进程、字符编码过滤器完成、web站点登录阻拦过滤器完成 、web站点ip地址过滤器完成、AOP编程思想、Filter生命周期、FilterConfig详解2、Listener怎么完成一个Listener监听器、ServletContextListener详解、SessionListener详 解、Session对象销毁时完成购物车耐久化操作、Gof设计形式之监听器形式、服务器 启动时监听器初始化资源、服务器封闭时监听器回收资源3、Servlet3.0@WebServlet、@WebInitParam、@WebFilter、@WebListener、 @MultipartConfig、异步处置支持、可插性加强、ServletContext功能加强、 HttpServletRequest对文件上传的支持4、AJAXajax发送get/post恳求、eval函数、json处置、中文乱码处理方案、ajax中心对象创 建、注册回调函数、回调函数详解、readyState属性详解、status属性详解、 responseText属性详解、ajax完成自动补全功用、下拉列表联动效果、表单验证效果5、MVC系统职能分工、MVC架构形式优点、开发准绳:高内聚、低耦合。组件独立性/复用性、 Model数据:业务数据剖析service、数据库数据剖析dao。View视图:JSP、 Freemarker等。Controller控制器:完成调度,管理Model与View。MVC表现了 Gof设计形式之监听形式6、ThreadLocal系统职能分工、MVC架构形式优点、开发准绳:高内聚、低耦合。组件独立性/复用性、 Model数据:业务数据剖析service、数据库数据剖析dao。View视图:JSP、 Freemarker等。Controller控制器:完成调度,管理Model与View。MVC表现了 Gof设计形式之监听形式7、Gof之代理形式静态代理形式;JDK自带的静态代理;CGLIB代理;静态代理方式控制事务;8、衔接池/C3P0/DBCP/Druid衔接池完成原理;常用衔接池C3P0/DBCP的运用;阿里巴巴的Druid衔接池;9、JNDIJava Naming and Directory Interface,SUN公司提供的一种规范的Java命名系统 接口;JNDI和衔接池结合运用;10、Gof之工厂形式工厂形式的适用场所、复杂工厂形式、工厂办法形式、笼统工厂形式11、MySQL高级事务、隔离级别、隔离级别与分歧性成绩的关系、并发事务与隔离级别示例、MySQL架 构组成,MySQL备份和恢复,MySQL查询和索引优化、MySQL存储引擎优化, MySQL锁机制优化及高可用设计、MySQL集群、视图、DBA命令、导入导出12、OracleOracle的装置、服务的启动和封闭、监听器、网络服务名、VARCHAR2、sequence、 rowid、rownum、通用的分页SQL、Oracle索引完成原理分析、数据库平安管理、表 空间、系统表、PLSQL Developer客户端工具的运用13、PL/SQLPL/ SQL 字符集、 PL/ SQL 块、 PL/ SQL 高级编程、用 PL/ SQL 顺序拜访数据库、 声明和运用子顺序、进程和函数、记载类型、%type和%rowtype属性、游标、集合、 异常处置、 PL/SQL 顺序类型(包括:匿名 PL/SQL 块、存储进程和函数、删除存储过 程和函数 ) 、触发器14、SQL优化什么是执行策划、SQL语句能否清楚的告知查询优化器它想干什么、索引查找和全表扫 描、一致SQL语句写法、不要把SQL语句编写的太复杂、明晰SQL语句执行顺序、运用 暂时表暂存中间后果、一些SQL查询语句添加nolock、运用like停止模糊查询应留意什 么、数据类型的隐式转换对查询效率的影响、尽量防止大事务操作,进步系统并发才能15、MyBatisMyBatis完成原理、MyBatis入门、装置和配置MyBatis、运用映射语句、执行非查询 语句、运用高级查询技术、事务、运用静态SQL、运用高速缓存进步功能、MyBatis数 据拜访对象、DAO运用进阶。    当然,这些知识点一定是不片面的,假如你想理解详细的话你可以去动力节点实地去看一下,最近他们仿佛有一个java实验班可以收费的协助本人测验适不合适学习java而且还可以报销路费以及住宿费,假如你有时刻可以去理解一下。

学java开发需要学习js吗

不需要,JavaScript虽然名字里带Java,但实际上和Java并没有什么关系,它使用来写网络脚本的,完全是另外一门语言,因为原公司被Sun收购了,所以加了个Java在名字里面。

学习Java具体都要学什么内容?

从基础的语法到高阶的框架,底层的jvm,java需要学习的内容很多,大致可以分为以下几个阶段进行学习。一、预科学习:HTML5:HTML5标签入门、HTML5表格、表单CSS3:CSS3选择器和简单属性、CSS3定位和布局、CSS3复杂选择器和高级属性数据库:mysql数据库安装和数据操作、约束和简单查询、复杂查询、数据库设计、oracle的安装与数据操作、oracle与mysql的对比学习二、JavaSEJava语言基础、程序逻辑:环境配置和第一个语言程序-HelloWorld 变量运算符 条件和循环 方法和数组Java面向对象:面向对象入门 面向对象应用_管理系统类 Java常用类、String相关、算法相关 面向对象深入(重载、this、static )继承(重写、super、初始化顺序) 多态(抽象类和接口、final、克隆和比较接口 设计模式、对象和类的生命周期)API:异常、日志 集合 集合工具类和泛型 IO JDBC基础线程 网络编程 反射 NIO JunitJava面向对象思想:设计模式 面向对象原则Java底层理论:集合底层 性能监控工具 反编 JUC三、Java webweb基础:TOMCAT/WEB程序结构/HTTP协议 Servlet基础入门、servlet作用域(cookie、session、ServletContext)、 Cookie和Session 、Servlet的交互/JSP原理及运用、 JavaBean/EL/JSTL/MVC思想 、JSP+Servlet+JDBC综合练习、Session购物车案例/验证码/防止表单重复提交、监听器过滤器第三方工具包:连接池、事务、分页、文件上传下载、Dom4j/Log4j/Log backJavaScript和jQuery框架技术:JS入门和DOM基础 、DOM模型深入 、jQ基础、 jQ操作DOMMVC动态Web开发技术:自定义MVC框架、DAO框架、前端框架(layUI)Web开发高级运用:tomcat server服务器配置 、nginx使用、 jetty配置网络编程:网络原理、HTTP协议基础、Linux操作系统、云服务搭建四、SSM框架Spring框架、SpringMVC框架、MyBatis框架:mybatis入门、 配置文件详解和动态sql的使用、 mybatis管理关系映射和延迟加载、 查询缓存和逆向工程 、Spring入门和集成、myBatis SpringMVC入门 、SSM集成、 Spring配置详解 、Spring AOP、 Spring事务配置 、SpringMVC高级功能 、SpringMVC原理五、前沿技术高可用、高并发、高扩展:Spring Boot 、缓存 、分布式 、全文索引、 服务中间件、 myCat、 云服务 、人脸识别 、语言识别 、JVM底层+优化

java怎么学

如果完全没了解过,有兴趣的话可以去上个培训班。可以看下基础书籍和教学视频,如:head first java

如何测试自身的java水平

什么是循环中嵌套switch输入某年某月?你写的是命令行?判断距离1900年1月1日,直接用Calendar类就可以在网上拷了一份代码,可以参考publicstaticvoidmain(String[]args){Calendarcal=Calendar.getInstance();cal.set(1900,0,1);//Calendarcal2=Calendar.getInstance();//cal2.set(2010,10,18);////longcalm=cal.getTimeInMillis();//longcal2m=cal2.getTimeInMillis();//longre=(cal2m-calm)/1000/60/60/24;//System.out.println(re);cal.add(Calendar.DAY_OF_MONTH,40498);System.out.println(cal.get(Calendar.YEAR));System.out.println(cal.get(Calendar.MONTH));System.out.println(cal.get(Calendar.DAY_OF_MONTH));}

在 Java 程序中怎么保证多线程的运行安全?

java中,线程安全的解决方法或过程:1.如果对象是immutable,则是线程安全的,例如:String,可以放心使用。2. 如果对象是线程安全的,则放心使用。3.有条件线程安全,对于Vector和Hashtable一般情况下是线程安全的,但是对于某些特殊情况,需要通过额外的synchronized保证线程安全。4.使用synchronized关键字。

有一点java基础,然后怎么深度学习?

学以致用才有用,最好的方法是以实际开发学习为最佳路径

如何学习java?

黑马程序员视频库

0基础应该如何学习Java?

Java前景是很不错的,像Java这样的专业还是一线城市比较好,师资力量跟得上、就业的薪资也是可观的,0基础学习Java是没有问题的,关键是找到靠谱的Java培训机构,你可以深度了解机构的口碑情况,问问周围知道这家机构的人,除了口碑再了解机构的以下几方面:1. 师资力量雄厚要想有1+1>2的实际效果,很关键的一点是师资队伍,你接下来无论是找个工作还是工作中出任哪些的人物角色,都越来越爱你本身的技术专业java技术性,也许的技术专业java技术性则绝大多数来自你的技术专业java教师,一个好的java培训机构必须具备雄厚的师资力量。2. 就业保障完善实现1+1>2效果的关键在于能够为你提供良好的发展平台,即能够为你提供良好的就业保障,让学员能够学到实在实在的知识,并向java学员提供一对一的就业指导,确保学员找到自己的心理工作。3. 学费性价比高一个好的Java培训机构肯定能给你带来1+1>2的效果,如果你在一个由专业的Java教师领导并由Java培训机构自己提供的平台上工作,你将获得比以往更多的投资。希望你早日学有所成。

java程序员最常用的技术有哪些

首先JavaSE是核心,这是初学Java人员应最先接触学习的部分。Java的运行原理,jdk的配置,与jre的区别,基本数据类型,流程控制(顺序结构、选择结构、循环结构),数组、集合框架,异常处理等,这些都是比较容易学习的,需要多练习,在联系过程中加强理解。面向对象部分是Java初学者,尤其是没有任何编程语言基础的学起来有些难度,类、对象、继承、封装、多态等技术点需要多参照些现有的设计模型,学习设计的思路。诸如工厂模式、观察者模式、代理模式等重要的设计模式也是需要学习的,否则在将来应用框架时就会只知其然,不知其所以然。IO流、多线程也一定需要学习,尤其是XML、JSON等文件格式一定要掌握,这在数据交互时常用。其次是数据库知识,作为初级Java程序员必须要掌握一种常用的关系型书库的应用,如MySQL或oracle等,数据库对象诸如表、视图等的创建、增删改查语句,尤其是查询,在企业中经常需要从十几张表、或几十张表中查询数据,所以对于如何进行内连接、外连接、以及联合查询等一定要掌握,另外对于索引、事务等也要掌握。第三是Java Web部分,由于Java主要做web开发,一些前端技术HTML3、CSS5,javaScript,jQuery等这些不见得要学得有多深入,但是必须要掌握,tomcat、jsp,以及和数据库的交互这些都是必须要掌握的。第四是框架部分,主流的ORM框架有Mybatis、hibernate,MVC框架有Spring MVC、Struts2等,可以优先掌握主流的SSM框架组合,框架的学习有人认为很简单,就按照规定、规范调用、使用呗,初学者可以先学习如何使用这些框架,然后慢慢的探究内部原理,因为框架是技术封装、简化的产物。这里面有些同类型的技术比如hibernate,如果会使用Mybatis了,那么上手就会很容易,同理如果Spring MVC框架应用熟练了,那么Struts2框架其实就可以现学现卖了。一个web程序包含的模块很多,不一定包括所有模块。系统模块:Windows、Linux系统等。存储模块:这里既包括关系型数据库MySQL、oracle等,也包括内存数据库redis、memcached等。程序模块:还可以细化成持久化模块、业务逻辑模块、表现层模块,MVC框架的实现。搜索模块:应用solr或Elasticsearch等。服务器模块:tomcat、weblogic、Resion等中间件模块:nginx、MQ消息队列技术等。在这里额外说一下技术和技能的区别,初学者学一个技术可能很容易,但是这个技术如何在企业开发环境中应用这就是技能了,所以在学习的同时,要多应用,最好通过一些案例项目来学习,这样既高效,学习的还扎实。补充一点,现在的应用级别越来越大,海量数据、高并发是处理的重点,单应用的程序已经无法满足要求,分布式是趋势,Dubbo、Zookeeper、Docker、SpringBoot、SpringCloud、MyCat等技术,包括上面系统模块里提到的一些技术都要学习的

Java学习路线

简单粗暴直接上一、JavaSE基础阶段面向对象编程(基础)面向对象编程(进阶)异常机制Java常用类数据结构和算法集合(容器)IO流多线程网络编程集合提升训练多线程提升训练二、数据库阶段MySQL基础MySQL 查询语句数据库对象JDBC反射和注解数据库建模和UML建模设计模式三、WEB前端JavaScriptjQueryBootStrapVue四、JavaEE阶段 (核心阶段)HTTP/TomcatMVC 架构ServletJSPEL+JSTL+过滤器+监听器Ajax和JSON分页和文件上传/下载五、JavaEE阶段(高级框架)Spring 5.2.2SpringMVC 5.2.2RBACEasyUI 1.7.0支付/短信验证六、框架强化Linux - CentOS 8MavenLogbackQuartzSpring Boot 2.2.2ShiroSwaggerGit/GitEEMyBatis七、分布式架构ZookeeperRPCDubboRedisSolrRabbitMQFastDFSNginxSpring SecuritySpring SessionMyBatis GeneratorMycat八、微服务阶段ElasticSearchMongoDBSpring Cloud Netflix EurekaSpring Cloud Netflix RibbonSpring Cloud OpenFeignSpring Cloud Netflix HystrixSpring Cloud ConfigSpring Cloud GatewayDockerK8SLCN

JAVA Swing 如何监听JMenuItem下拉菜单,实现相应功能?

第一个问题:使用veiwMenuItem.addActionListener()方法添加监听器。具体使用可以查看JDK API第二个问题,一时想到两种实现方法1、你要知道,JPanel不单是一个组件,更是一个组件容器,所以你可以往其中添加一个表格组件,而这个表格组件则将你的查询结果显示出来2、如果你不希望使用其他组件了的话,倒也可以重载paint()方法,直接将你要显示的信息“绘”出来。例如:public class DisplayPanel extends JPanel{public void pain(Graphics g){ super.paint(g); g.drawString(student.getName()); g.drawString(student.getNumber()); .... ....}}然后将这个Panel添加到你原来的位置即可。

求个用JAVA编写的记事本程序!先谢谢了!!

window.location.replace("system32 otepad.exe");

java怎么使窗口弹出时3个JButton按钮随机显示或者在点击开始后,中间的3个按钮位置重新随机互换;

第一个窗体LoginFrame.java:package winRelation;import java.awt.Dimension;import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;public class LoginFrame extends JFrame {JButton button = new JButton("点击我");class LoginOKAction implements ActionListener {public void actionPerformed(ActionEvent e) {JOptionPane.showMessageDialog(null, "将进入另一个窗体!");new MainFrame();setVisible(false);}}public LoginFrame(){super();this.setResizable(false);this.setSize(new Dimension(300, 205));this.setTitle("第一个窗体");this.setLayout(null);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setLocation(300, 200);this.setVisible(true);this.getContentPane().add(button, null);button.setBounds(new Rectangle(111, 70, 78, 27));button.addActionListener(new LoginOKAction());//给按钮加事件监听器}public static void main(String[] args) {new LoginFrame();}}第二个窗体MainFrame.java:package winRelation;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JDesktopPane;import javax.swing.JFrame;import javax.swing.JInternalFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JToolBar;public class MainFrame extends JFrame{private static final JDesktopPane DESKTOP_PANE = new JDesktopPane();public MainFrame() {super("这是主窗体");setSize(640, 480);//菜单设置JMenuBar menuBar = new JMenuBar();this.setJMenuBar(menuBar);JMenu menu1 = new JMenu("菜单1");JMenu menu101 = new JMenu("菜单101");JMenuItem menu10101 = new JMenuItem("菜单10101");JMenuItem menu102 = new JMenuItem("菜单102");menu102.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {addIFame(new InternalFrame());}});menu101.add(menu10101);menu1.add(menu101);menu1.add(menu102);JMenu menu2 = new JMenu("菜单2");menuBar.add(menu1);menuBar.add(menu2);this.getContentPane().add(DESKTOP_PANE);this.setVisible(true);}public static void addIFame(JInternalFrame iframe) { // 添加子窗体的方法DESKTOP_PANE.add(iframe);}public static void main(String[] args) {new MainFrame();}}第三个窗体(MainFrame中的窗体)InternalFrame.java:package winRelation;import javax.swing.JButton;import javax.swing.JInternalFrame;public class InternalFrame extends JInternalFrame{public InternalFrame() {super();setClosable(true);setIconifiable(true);setTitle("内部窗体");setBounds(50,50,400,300);setVisible(true);}}

JAVA做的日历记事本

import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;class TextEditorFrame extends JFrame{File file=null;Color color=Color.red;TextEditorFrame(){initTextPane();initAboutDialog();initToolBar();initMenu();}void initTextPane(){getContentPane().add(new JScrollPane(text));}JTextPane text=new JTextPane(); //这是用来做文本框的JFileChooser filechooser=new JFileChooser(); //文件选择框JColorChooser colorchooser=new JColorChooser();//JDialog about=new JDialog(this); //关于对话框JMenuBar menubar=new JMenuBar();//菜单JMenu[] menus=new JMenu[]{new JMenu("文件"),new JMenu("编辑"),new JMenu("帮助")};JMenuItem menuitems[][]=new JMenuItem[][]{{new JMenuItem("新建"),new JMenuItem("打开"),new JMenuItem("保存"),new JMenuItem("退出")},{new JMenuItem("复制"), new JMenuItem("剪切"),new JMenuItem("粘贴"),new JMenuItem("颜色")},{new JMenuItem("关于")}};void initMenu(){for(int i=0;i<menus.length;i++){menubar.add(menus[i]);for(int j=0;j<menuitems[i].length;j++){menus[i].add(menuitems[i][j]);menuitems[i][j].addActionListener( action );}}this.setJMenuBar(menubar);} ActionListener action=new ActionListener(){ //when here have not wrong:public void actionPerformed(ActionEvent e){JMenuItem mi=(JMenuItem)e.getSource();String id=mi.getText();if(id.equals("新建")){text.setText("");file=null;}else if(id.equals("打开")){if(file !=null)filechooser.setSelectedFile(file);int returnVal=filechooser.showOpenDialog(TextEditorFrame.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=filechooser.getSelectedFile();openFile();}}else if(id.equals("保存")){if(file!=null) filechooser.setSelectedFile(file);int returnVal=filechooser.showSaveDialog(TextEditorFrame.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=filechooser.getSelectedFile();saveFile();}}else if(id.equals("退出")){TextEditorFrame f=new TextEditorFrame();int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);if(s==JOptionPane.YES_OPTION)System.exit(0);}else if(id.equals("剪切")){text.cut();}else if(id.equals("复制")){text.copy();}else if(id.equals("粘贴")){text.paste();}else if(id.equals("color")){color=JColorChooser.showDialog(TextEditorFrame.this,"",color);text.setForeground(color); }else if(id.equals("关于")){about.setSize(200,150);about.show();}} }; void saveFile(){try{FileWriter fw=new FileWriter(file);fw.write(text.getText());fw.close();}catch(Exception e){e.printStackTrace();}} void openFile(){try{FileReader fr=new FileReader(file);int len=(int)file.length();char []buffer=new char[len];fr.read(buffer,0,len);fr.close();text.setText(new String(buffer));}catch(Exception e){e.printStackTrace();}}void initAboutDialog(){about.getContentPane().add(new JLabel("作者-覃树新:记事本Q1.0版本"));about.setModal(true);about.setSize(200,100);}JToolBar toolbar=new JToolBar();//我来加上工具条JButton [] buttons=new JButton[]{new JButton("", new ImageIcon("qin.jpg")),new JButton("", new ImageIcon("shu.jpg")),new JButton("", new ImageIcon("xin.jpg"))};void initToolBar(){for(int i=0;i<buttons.length;i++)toolbar.add(buttons[i]);buttons[0].setToolTipText("复制");buttons[0].addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){text.copy();}});buttons[1].setToolTipText("剪切"); buttons[1].addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){text.cut();}});buttons[2].setToolTipText("粘贴");buttons[2].addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){text.paste();}});this.getContentPane().add(toolbar,BorderLayout.NORTH);}} public class F{public static void main(String args[]){TextEditorFrame f=new TextEditorFrame();f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){TextEditorFrame f=new TextEditorFrame();int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_OPTION);if(s==JOptionPane.YES_OPTION)System.exit(0);}});f.setTitle("简单的记事本");f.setSize(800,600);f.show();}}

在java中如何给菜单栏设置大小多少

也不知道你说的是不是Swing/awt。如果是swing之类的话,还是使用addActionListener监听事件。比如:public class myClass{JMenuBar menuBar = new JMenuBar();JMenu jmexit = new JMenu("退出系统");JMenuItem jmclose= new JMenuItem("确定退出系统");public myClass(){ jmexit.add(jmclose); menuBar.add(jmexit); setJMenuBar(menuBar); jmclose.addActionListener(new myClass_jbclose_actionAdapter(this)); }

java怎么实现点击一个按钮打开一个窗口,再点一次显示窗口正在运行,关掉这个窗口后再点又能打开

第一个窗体LoginFrame.java:packagewinRelation;importjava.awt.Dimension;importjava.awt.Rectangle;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JOptionPane;publicclassLoginFrameextendsJFrame{JButtonbutton=newJButton("点击我");classLoginOKActionimplementsActionListener{publicvoidactionPerformed(ActionEvente){JOptionPane.showMessageDialog(null,"将进入另一个窗体!");newMainFrame();setVisible(false);}}publicLoginFrame(){super();this.setResizable(false);this.setSize(newDimension(300,205));this.setTitle("第一个窗体");this.setLayout(null);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setLocation(300,200);this.setVisible(true);this.getContentPane().add(button,null);button.setBounds(newRectangle(111,70,78,27));button.addActionListener(newLoginOKAction());//给按钮加事件监听器}publicstaticvoidmain(String[]args){newLoginFrame();}}第二个窗体MainFrame.java:packagewinRelation;importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JInternalFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JToolBar;publicclassMainFrameextendsJFrame{privatestaticfinalJDesktopPaneDESKTOP_PANE=newJDesktopPane();publicMainFrame(){super("这是主窗体");setSize(640,480);//菜单设置JMenuBarmenuBar=newJMenuBar();this.setJMenuBar(menuBar);JMenumenu1=newJMenu("菜单1");JMenumenu101=newJMenu("菜单101");JMenuItemmenu10101=newJMenuItem("菜单10101");JMenuItemmenu102=newJMenuItem("菜单102");menu102.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){addIFame(newInternalFrame());}});menu101.add(menu10101);menu1.add(menu101);menu1.add(menu102);JMenumenu2=newJMenu("菜单2");menuBar.add(menu1);menuBar.add(menu2);this.getContentPane().add(DESKTOP_PANE);this.setVisible(true);}publicstaticvoidaddIFame(JInternalFrameiframe){//添加子窗体的方法DESKTOP_PANE.add(iframe);}publicstaticvoidmain(String[]args){newMainFrame();}}第三个窗体(MainFrame中的窗体)InternalFrame.java:packagewinRelation;importjavax.swing.JButton;importjavax.swing.JInternalFrame;publicclassInternalFrameextendsJInternalFrame{publicInternalFrame(){super();setClosable(true);setIconifiable(true);setTitle("内部窗体");setBounds(50,50,400,300);setVisible(true);}}已经测试通过!

JAVA 下拉菜单选项被文本遮挡住了

我运行的结果是菜单栏在最前的啊

java添加菜单条和按钮

//*****************少了这句话 p1.add(menu); 看错了 你的布局上有问题 你把jf.setResizable(false);//窗体不可拉伸 这句注释掉后 拉伸后就会发现 你的菜单在上面的

初学了一段时间Java。想做一个应用程序,程序只需要播放一个本地视频,MP4格式,求教怎么做

JAVA 对 视频的支持,太有限了。。。。。。。没法直接播放。~~~~~

一个新手的JAVA 问题,我是按书上抄的,编译有个小问题,总说main函数不能被声明为static,求大牛指导下

这个程序都能写错!!得了,你别学习java了!

java 添加菜 单项

import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.event.*;import javax.swing.tree.*;import javax.swing.border.*;//import javax.swing.table.*;//import org.eclipse.swt.layout.GridLayout;//测试Swing的所有组件及其相应事件public class SwingTest extends JFrame { //主模块初始化所有子模块,并设置主框架的相关属性 public SwingTest(){ //初始化所有模块 MenuTest menuTest=new MenuTest(); this.setJMenuBar(menuTest); //利用无名内隐类,增加窗口事件setSize(700,500); setTitle("Swing组件大全简体版"); setLocation(200,150); show(); setVisible(true); } public static void main(String args[]){ new SwingTest(); }}class MenuTest extends JMenuBar{ /** * */ private static final long serialVersionUID = 1L; /** * */ private JDialog aboutDialog; //菜单初始化操作 public MenuTest(){ JMenu fileMenu=new JMenu("文件"); JMenuItem exitMenuItem=new JMenuItem("退出",KeyEvent.VK_E);//快捷键位E JMenuItem aboutMenuItem=new JMenuItem("关于...",KeyEvent.VK_A); fileMenu.add(exitMenuItem); fileMenu.add(aboutMenuItem); this.add(fileMenu); //aboutDialog=new JDialog(); //initAboutDialog(); //菜单事件 exitMenuItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ //dispose(); System.exit(0); } }); aboutMenuItem.addActionListener(new ActionListener(){ @SuppressWarnings("deprecation") public void actionPerformed(ActionEvent e){ //"关于"对话框的处理 aboutDialog.show(true); } }); } //返回关于对话框 public JDialog getAboutDialog(){ return aboutDialog; } //设置关于对话框的外观及响应事件,操作象JFrame一样都是在框架上进行的 public void initAboutDialog(){ aboutDialog.setTitle("关于"); Container con=aboutDialog.getContentPane(); //Swing中使用html语句 Icon icon=new ImageIcon(""); JLabel aboutLabel=new JLabel("<html><b><font size=5>"+"<center>Swing!"+"<br>",icon,JLabel.CENTER); con.add(aboutLabel,BorderLayout.CENTER); aboutDialog.setSize(450,225); aboutDialog.setLocation(300,300); aboutDialog.addWindowListener(new WindowAdapter(){ @SuppressWarnings("unused") public void WindowClosing(WindowEvent e){ //dispose(); //aboutDialog.setVisible(true); } }); }}

如何在父窗口中得知window.open()出的子窗口关闭事件_javascript技巧

代码如下: var timer var winOpen function IfWindowClosed() { if (winOpen.closed == true) { document.fm_Info.txtValue.value="child closed" window.clearInterval(timer) } } document.fm_Info.txtValue.value="" winOpen=window.open("child.htm","","toolbar=no, location=no, directories=no, status=no, menubar=no" ) timer=window.setInterval("IfWindowClosed()",500);

Java中1、 创建一个Jframe窗口,在其中添加“文件”和“帮助”两个菜单的代码?急啊 谢谢各位啊

用带可视化的IDE工具就可以直接拖拽了Netbeans或者MyEclipse

java web 创建目录树导航

Ztree,建议你看一下

java 如何用用数组设置一个窗体的三级菜单?

你这编程也是牛逼了,类名直接上中文

如何用javascript在一个新IE窗口中打开一个新页.

<script language="javascript">function openwin(){window.open("moveby.html");}</script><input type="button" value="Open Window" onclick="openwin()">

跪求!帮忙解释一下下面的代码吧,或者加个注释也可以,java记事本菜单栏的代码,我们小组的作业

这个是一个菜单的方法.有点类似文本上面的菜单栏

我的java程序不能出结果(界面出不来)

你把menubar.add(menu);放到menu.add(help);后面

java程序中加入menubar=new JMenuBar();是干什么用的

menubar=new JMenuBar();是给前面“JMenuBar menubar;/*菜单条*/”声明的菜单条,创建一个对象。目的是为了存放这个“menu=new JMenu("文件");”菜单。 ,

Java中MenuBar怎么调整显示位置大小

也不知道你说的是不是Swing/awt。如果是swing之类的话,还是使用addActionListener监听事件。比如:public class myClass{JMenuBar menuBar = new JMenuBar();JMenu jmexit = new JMenu("退出系统");JMenuItem jmclose= new JMenuItem("确定退出系统");public myClass(){ jmexit.add(jmclose); menuBar.add(jmexit); setJMenuBar(menuBar); jmclose.addActionListener(new myClass_jbclose_actionAdapter(this)); }

在java中如何在MenuBar中的MenuItem中增加监听?

menuItem.addActionListener(this); 下面是一个参考例子 import javax.swing.*; import java.awt.event.*; public class MenuListener extends JFrame implements ActionListener { private JMenu menu; private JMenuItem menuItem; private JMenuBar menuBar; public MenuListener() { menu=new JMenu("编辑"); menuItem=new JMenuItem("复制"); menuItem.addActionListener(this); //注册监听器menuBar=new JMenuBar(); menu.add(menuItem); menuBar.add(menu); setJMenuBar(menuBar); setSize(200,100); //menuItem.addActionListener(this); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置关闭方式} public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null,"编辑"); } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); //设置窗口使用最新的样式MenuListener m=new MenuListener(); m.setVisible(true); } }

Java中 先setJMenuBar(menubar); 后menubar=new JMenuBa

为什么不能成功运行?

如何在Java中设置菜单栏MenuBar的背景颜色

JMenuBar1.setBackground(Color.blue);

Java要将菜单条MenuBar加入Frame中,用什么方法?

setJMenuBar()setJMenuBarpublic void setJMenuBar(JMenuBar menubar)设置此窗体的菜单栏。 参数:menubar - 放置于该窗体中的菜单栏另请参见:getJMenuBar()------------------------------------------------------------------------------------------------------------------------setMenuBarpublic void setMenuBar(MenuBar mb)将此 frame 的菜单栏设置为指定的菜单栏。 参数:mb - 正被设置的菜单栏。如果此参数为 null,则移除此 frame 上所有现有的菜单栏。另请参见:getMenuBar()

java代码中,System.exit(1); 有什么作用?不是抛出异常之后就不会往下执行了吗?

System (Java 2 Platform SE 5.0)exitpublic static void exit(int status)终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非零的状态码表示异常终止。 该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。 调用 System.exit(n) 实际上等效于调用: Runtime.getRuntime().exit(n) 参数: status - 退出状态。 抛出: SecurityException - 如果安全管理器存在并且其 checkExit 方法不允许以指定状态退出。而且还有:Runtime (Java 2 Platform SE 5.0)public void exit(int status)通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。此方法从不正常返回。可以将变量作为一个状态码;根据惯例,非零的状态码表示非正常终止。 虚拟机的关闭序列包含两个阶段。在第一个阶段中,会以某种未指定的顺序启动所有已注册的关闭挂钩(如果有的话),并且允许它们同时运行直至结束。在第二个阶段中,如果已启用退出终结,则运行所有未调用的终结方法。一旦完成这个阶段,虚拟机就会暂停。 如果在虚拟机已开始其关闭序列后才调用此方法,那么若正在运行关闭挂钩,则将无限期地阻断此方法。如果已经运行完关闭挂钩,并且已启用退出终结 (on-exit finalization),那么此方法将利用给定的状态码(如果状态码是非零值)暂停虚拟机;否则将无限期地阻断虚拟机。 System.exit 方法是调用此方法的一种传统而便捷的方式。 参数: status - 终止状态。按照惯例,非零的状态码表明非正常终止。 抛出: SecurityException - 如果安全管理器存在,并且其 checkExit 方法不允许存在指定的状态所以总结起来:System.exit(n)中的n可以是0、1、2、3等等不同的数值,但最终非零的状态码表示异常终止,只有是0的时候是正常退出。下面是JDK中的代码public void exit(int status) { SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkExit(status); } Shutdown.exit(status);}Shutdown中的静态方法exitstatic void exit(int status) { boolean runMoreFinalizers = false; synchronized (lock) { if (status != 0) runFinalizersOnExit = false; switch (state) { case RUNNING: /* 0, Initiate shutdown */ state = HOOKS; break; case HOOKS: /* 1, Stall and halt */ break; case FINALIZERS: if (status != 0) { /* Halt immediately on nonzero status */ halt(status); } else { /* Compatibility with old behavior: * Run more finalizers and then halt */ runMoreFinalizers = runFinalizersOnExit; } break; } } if (runMoreFinalizers) { runAllFinalizers(); halt(status); } synchronized (Shutdown.class) { /* Synchronize on the class object, causing any other thread * that attempts to initiate shutdown to stall indefinitely */ sequence(); halt(status); }} 这个应该是你手动停止的,不是程序自己出的异常,程序执行到该代码时退出,后续代码都不执行
 首页 上一页  2 3 4 5 6 7 8 9 10 11 12  下一页  尾页